ajax分页有关问题
ajax分页问题
前台代码:
这是请求地址的代码
问题:可以正常拿到新的分页标签的数据,但是在ashx页面调试时,序列化后又重新跳回 for (int i = 0; i < pageDt.Rows.Count; i++) 然后莫名起码的pagesize 和pageindex 又变成初始值了。找了老半天,不懂哪出问题了
------解决思路----------------------
首先要捕获 http 调试器输出,看看 ashx/LoadProData.ashx 被请求了几次。
前台代码:
$(function () {
//初始化商品属性信息
initProData();
});//初始化商品数据
function initProData(postData) { //这里加个时间戳,解决IE的缓存问题
var i = 1;
$.ajax({
url: "ashx/LoadProData.ashx",
data: postData,
dataType: "json",
type: "post",
success: function (data) {
$("#tbProInfo").html("");
for (var key in data.list) {
var strTr = "<tr>";
strTr += "<td>" + i++ + "</td>";
strTr += "<td>" + data.list[key].Title + "</td>";
strTr += "<td>" + data.list[key].out_sku_id + "</td>";
strTr += "<td>" + data.list[key].outer_iid + "</td>";
strTr += "<td>" + data.list[key].num + "</td>";
strTr += " <td><a href='#' proId='" + data.list[key].id + "' class='templatemo-edit-btn' data-toggle='modal' data-target='#editModal' data-whatever='@fat'>编辑</a> <a href='#' proId='" + data.list[key].id + "' class='templatemo-del-btn'>删除</a></td>";
strTr += "</tr>";
$("#tbProInfo").append(strTr);
}
//加入分页标签
$("#navLink").html(data.navHtml);
//绑定分页链接标签
bindNavLinckClickEvent();
}
});
}//分页标签链接
function bindNavLinckClickEvent() {
$(".pageLink").click(function () {
//改变当前页数据
var href = $(this).attr("href");
var strPostData = href.substr(href.lastIndexOf('?') + 1);
initProData(strPostData);
});
}
这是请求地址的代码
int pageSize = int.Parse(context.Request["pageSize"] == null ? "5" : context.Request["pageSize"]);
int pageIndex = int.Parse(context.Request["pageIndex"] == null ? "1" : context.Request["pageIndex"]);
int total =0;
DataTable pageDt = LoadPagerData(pageIndex, pageSize, out total);
string strNavHtml = PagerTool.ShowPageNavigate(pageSize, pageIndex, total);
List<ProInfoModel> proList = new List<ProInfoModel>();
for (int i = 0; i < pageDt.Rows.Count; i++)
{
proList.Add(new ProInfoModel
{
id = pageDt.Rows[i]["id"].ToString(),
Title = pageDt.Rows[i]["Title"].ToString(),
out_sku_id = pageDt.Rows[i]["out_sku_id"].ToString(),
outer_iid = pageDt.Rows[i]["outer_iid"].ToString(),
num = pageDt.Rows[i]["num"].ToString()
});
}
//合并成一个对象
var data = new { list = proList, navHtml = strNavHtml };
System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();
string json = js.Serialize(data);
context.Response.Write(json);
问题:可以正常拿到新的分页标签的数据,但是在ashx页面调试时,序列化后又重新跳回 for (int i = 0; i < pageDt.Rows.Count; i++) 然后莫名起码的pagesize 和pageindex 又变成初始值了。找了老半天,不懂哪出问题了
------解决思路----------------------
首先要捕获 http 调试器输出,看看 ashx/LoadProData.ashx 被请求了几次。