asp.net ajax 简单应用实例
asp教程.net文件
@ webhandler language="c#" class="handler" %>
using system;
using system.web;
using system.collections.generic;
using system.data;
public class handler : ihttphandler
{
public void getpage( httpcontext context)
{
int pagenum = convert.toint32(context.request["pagenum"]); pagenum++;
if (pagenum <= 3)
{
dataset1.productdatatable cachedata = (dataset1.productdatatable)context.cache["cachekey"];
if (cachedata == null)
{
cachedata = new dataset1tableadapters.producttableadapter().getdatabypriceasc(1, 15);
context.cache.insert("cachekey", cachedata, null, system.web.caching.cache.noabsoluteexpiration, timespan.fromseconds(80));
}
list<product> news = new list<product>();
for (int i = (pagenum * 5) - 4; i <= pagenum * 5; i++)
{
dataset1.productrow row = cachedata[i - 1];
string s = link.toproduct(row.productid.tostring());
news.add(new product()
{
name = row.name,
description = row.description,
price = row.price.tostring(),
thumbnail = row.thumbnail,
path = s
});
}
system.web.script.serialization.网页特效serializer jss = new system.web.script.serialization.javascriptserializer();
context.response.write(jss.serialize(news));
}else
{var data = new dataset1tableadapters.producttableadapter().getdatabypriceasc((pagenum * 5) - 4, pagenum * 5);
list<product> news = new list<product>();
for (int i =0; i <5; i++)
{
dataset1.productrow row = data[i];
string s = link.toproduct(row.productid.tostring());
news.add(new product()
{
name = row.name,
description = row.description,
price = row.price.tostring(),
thumbnail = row.thumbnail,
path = s
});
}
system.web.script.serialization.javascriptserializer jss = new system.web.script.serialization.javascriptserializer();
context.response.write(jss.serialize(news));
}}
public void processrequest (httpcontext context)
{
context.response.contenttype = "text/plain";
string action = context.request["action"];
if (action == "getpage")
{
int allcount = new dataset1tableadapters.producttableadapter().getcount().value;
context.response.write(allcount);
}
else if (action == "getpagedateasc")
{
getpage("getpagedateasc", context);
}
else if (action == "getpagedatedesc")
{
getpage("getpagedatedesc", context);
}
}
public bool isreusable
{
get
{
return false;
}
}
}
public class product
{
public string name { set; get; }
public string description { set; get; }
public string price { set; get; }
public string thumbnail { set; get; }
public string path { set; get; }}
html代码
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<link href="app_themes/balloonshopdefault/balloonshop.css教程" rel="stylesheet" type="text/css" />
<link href="pagination.css" rel="stylesheet" type="text/css" />
<script src="新文件夹1/jscript.js" type="text/javascript">
</script><script src="新文件夹1/jquery.pagination.js" type="text/javascript"></script>
<script type="text/javascript">
function createlink() {
$("#pagination a").each(function (i) {
if (!isnan(parseint(this.innerhtml))) {
this.href = "/balloonshop/balloons-for-children/message-balloons/page=" + parseint(this.innerhtml);
}
});
}var data;
$(function () {
$.post("handler.ashx", { "action": "getpage" }, function (data123, status) {
data=data123;
initdata(0);
});
});function pageselectcallback(page_id, jq) {
initdata(page_id);
return false;
};
function initdata(pageindx) {$.post("handler.ashx", { "action": "getpagedate", "pagenum": pageindx }, function (data, status) {
if (status == "success") {
var datas = $.parsejson(data);
$("#myul").empty();
for (var i = 0; i < datas.length; i++) {
var p = datas[i];
var li = $("<li>" + "<h3 class='producttitle'> <a href='" + p.path + "'>" + p.name + "</a></h3>" +
"<a href='" + p.path + "'>" + "<img src=" + "productimages/" + p.thumbnail + " />" + "</a>"
+p.description+"<p class='detailsection'>+ price:"+p.price+"</p></li>");
$("#myul").append(li);
}};
});$("#pagination").pagination(data, {
callback: pageselectcallback,
prev_text: '<< 上一页',
next_text: '下一页 >>',
items_per_page: 5,
num_display_entries: 4,
current_page: pageindx,
num_edge_entries: 1
});
createlink();
}
</script>
</head>
<body>
<a href="catalog.aspx"></a>
<ul style="list-style-type:none" id="myul"></ul>
<div id="pagination" class="digg" style="float:left"/>
</body>
</html><!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<link href="app_themes/balloonshopdefault/balloonshop.css" rel="stylesheet" type="text/css" />
<link href="pagination.css" rel="stylesheet" type="text/css" />
<script src="新文件夹1/jscript.js" type="text/javascript">
</script><script src="新文件夹1/jquery.pagination.js" type="text/javascript"></script>
<script type="text/javascript">
function createlink() {
$("#pagination a").each(function (i) {
if (!isnan(parseint(this.innerhtml))) {
this.href = "/balloonshop/balloons-for-children/message-balloons/page=" + parseint(this.innerhtml);
}
});
}var data;
$(function () {
$.post("handler.ashx", { "action": "getpage" }, function (data123, status) {
data=data123;
initdata(0);
});
});function pageselectcallback(page_id, jq) {
initdata(page_id);
return false;
};
function initdata(pageindx) {$.post("handler.ashx", { "action": "getpagedate", "pagenum": pageindx }, function (data, status) {
if (status == "success") {
var datas = $.parsejson(data);
$("#myul").empty();
for (var i = 0; i < datas.length; i++) {
var p = datas[i];
var li = $("<li>" + "<h3 class='producttitle'> <a href='" + p.path + "'>" + p.name + "</a></h3>" +
"<a href='" + p.path + "'>" + "<img src=" + "productimages/" + p.thumbnail + " />" + "</a>"
+p.description+"<p class='detailsection'>+ price:"+p.price+"</p></li>");
$("#myul").append(li);
}};
});
$("#pagination").pagination(data, {
callback: pageselectcallback,
prev_text: '<< 上一页',
next_text: '下一页 >>',
items_per_page: 5,
num_display_entries: 4,
current_page: pageindx,
num_edge_entries: 1
});
createlink();
}
</script>
</head>
<body>
<a href="catalog.aspx"></a>
<ul style="list-style-type:none" id="myul"></ul>
<div id="pagination" class="digg" style="float:left"/>
</body>
</html>
补充:asp.net教程,.Net开发