ajax简单应用代码
ajax简单应用代码
@ 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.网页特效serializer();
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代码//http://www.3ppt.com/design/asp教程x/38279.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" clas解决方法:
(把dropdownlist改为客户端html控件select,然后用ajax存储,肯定不会有错误
,但是这里表单有很多需要提交的数据,所以不考虑用客户端html控件)
1、在页面的<%@ page language="c#" autoeventwireup="true"
codefile="default.aspx.cs" inherits="_default" %> 中添加
enableeventvalidation="false";
2、在页面添加隐藏域<input type="hidden" id="inputcity" runat="server" />
,然后用js将dropdownlist选择后的值赋值给隐藏域,
这样后台就可以通过 inputcity.value 来读取到隐藏域的值,也就是省市选择的
值了
s="digg" style="float:left"/>
</body>
</html>
补充:asp.net教程,.Net开发