jquery+ajax(用ajax.dll)实现无刷新分页

利用ajax.dll那种方式的无刷新,在这就不说了,新朋友可以看下我的另一片文件http://www.cnblogs.com/dachuang/p/3654632.html

首先,这里用的是jquery自带的分页方法,所以要引用下面3个js文件

<script type="text/javascript" src="Scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="Scripts/jquery-1.8.2.js"></script>
<script type="text/javascript" src="Scripts/jquery.pagination.js"></script>

文件下载地址:https://files.cnblogs.com/files/dachuang/jquery.pagination_2.zip

下面直接开始,

1、先说后台的,为了简单,我自造了数据

protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(Index));
}

[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
public DataTable ajaxtest()
{
DataTable dt = new DataTable();
dt.Columns.Add("序号", typeof(string));
dt.Columns.Add("姓名", typeof(string));
dt.Columns.Add("年龄", typeof(string));

dt.Rows.Add("1", "周一", "11");
dt.Rows.Add("1", "周一", "11");
dt.Rows.Add("1", "周一", "11");

dt.Rows.Add("2", "周二", "11");
dt.Rows.Add("2", "周二", "11");
dt.Rows.Add("2", "周二", "11");

dt.Rows.Add("3", "周三", "11");
dt.Rows.Add("3", "周三", "11");
dt.Rows.Add("3", "周三", "11");
return dt;
},这里大家一看就懂,不多说

前台:

js部分: 

<script type="text/javascript">
$(function () {
var pageSize = 1;//每页行数
var initPagination = function (data) {
var feedback = "";
$.each(data.Rows, function (index, d) {
var str = "";
str += "<dl class='result' style='display:none;'>";
str += "<dt><img src='/Images/orderedList0.png' alt='图片' width='70' height='70' /></dt>";
str += "<dd><a href='#' title='VYyu'>VYyu</a></dd>";
str += "<dd class='gray'>2009-09-26 </dd>";
str += "<dd>" + d["姓名"] + "</dd>";
str += "</dl>";
feedback += str;
});
$("#feedback").empty().append(feedback); //装载对应分页的内容
var num_entries = data.Rows.length;
// 创建分页
$("#page").pagination(num_entries, {
//num_edge_entries: 1, //边缘页数
//num_display_entries: 5, //主体页数
//callback: pageselectCallback,
//items_per_page: 3, //每页显示1项
//prev_text: "前一页",
//next_text: "后一页"
num_edge_entries: 2, //边缘页数
num_display_entries: 3, //主体页数
callback: pageselectCallback,
items_per_page: pageSize, //每页显示1项
current_page: 4,//当前页
prev_text: "<",
next_text: ">",
show_total_info: true,
show_total_num: num_entries,
show_pager_num: pageSize
});
}
function pageselectCallback(page_index, jq) {
var resultList = $(".result");
$(".result").each(function (index, data) {
$(this).css('display', 'none');
if (Math.floor(index / pageSize) == page_index) {
$(this).css('display', 'block');
}
});
return false;
}
//ajax加载
initPagination(Index.ajaxtest().value);
});
</script>

html部分:

<div id="feedback" class="feedback"></div>这个是存放每页的数据部分
<div id="page" class="pager"></div>这里是分页控件

效果图:

 

 

至于分页控件css样式部分,可参照http://www.cnblogs.com/dachuang/p/4475329.html这个文章

posted @   卡萨丁·周  阅读(227)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示