1.引入
jquery.js(自行下载)
jquery.pagination.js(自行下载)
pager.js
下面是前台代码
下面是GetData.ashx文件
下面是运行效果
jquery.js(自行下载)
jquery.pagination.js(自行下载)
pager.js
pagination.css(自行下载)
pager.js文件
var pageCount = 0; //总页数
var pageIndex = 0; //页面索引初始值
var pageSize = 10; //每页显示条数初始化,修改显示条数,修改这里即可
var AllParams = new Object(); //页面参数
var ye = 0; //总页数
var IsLastPage = "0"; //判断是否是最后一页
//翻页调用
function PageCallback(index, jq)
{
AllParams.pageIndex = index + 1;
InitTable();
}
//参数组装
function GetParams(pageIndex)
{
var objParams;
objParams = {
pageIndex: pageIndex,//当前页
pageSize: pageSize,//每页容量
isTotal: false, //是否统计页数
isLastPage: IsLastPage,
//其他查询参数...
name:$("#name").val()
};
return objParams;
}
//初始化数据
function InitTable()
{
$.post("Handlers/GetDatas.ashx?rand=" + Math.random(), AllParams, function (data) {
if (data != null && data != undefined) {
IsLastPage = data.substring(data.length - 1);
data = data.substring(0, data.length - 1);
//下面往table中填充数据
$("#Content").html("");
$("#Content").html(data);
}
});
}
function PNation() {
$("#Pagination").pagination(pageCount, {
callback: PageCallback,
prev_text: '上一页', //上一页按钮里text
next_text: '下一页', //下一页按钮里text
items_per_page: pageSize, //显示条数
num_display_entries: 6, //连续分页主体部分分页条目数
current_page: pageIndex, //当前页索引
num_edge_entries: 2 //两侧首尾分页条目数
});
}
//初始化 共x条记录,y页
function Init()
{
PNation();
var num = pageCount % pageSize;
if (num > 0)
{
ye = parseInt(pageCount / pageSize) + 1;
}
else
{
ye = parseInt(pageCount / pageSize);
}
$("#PageCount").text(pageCount + " 条 / " + ye + " 页");
}
//获取数据
function GetData() {
AllParams = GetParams(pageIndex);
AllParams.isTotal = true;
$.post("Handlers/GetDatas.ashx", AllParams, function (data) {
if (data != null && data != undefined)
{
pageCount = parseInt(data);
}
AllParams.isTotal = false;
Init();
});
}
$(function () {
GetData();
$("#btnSearch").click(function () {
GetData();
});
//去到指定页
$("#goto").click(function () {
if ($("#txtGoto").val() != "") {
var num = parseInt($("#txtGoto").val());
if (num > 0 && num <= ye) {
pageIndex = num - 1;
PNation();
}
}
});
});
下面是前台代码
<label>姓名:</label>
<input type="text" id="name"/>
<input type="button" id="btnSearch" value="查询"/>
<br />
<br />
<div id="Content"></div>
<div id="TPage">
<a class="TurnPage" id="goto" href="#">去到</a>
<input class="TurnPage" type="text" id="txtGoto" οnkeydοwn="return keyDownInt(this);"/>
<div id="PageCount" class="TurnPage"></div>
<div style="float: right" id="Pagination"></div>
</div>
下面是GetData.ashx文件
public void ProcessRequest(HttpContext context)
{
//当前页索引
int pageIndex;
int.TryParse(context.Request["pageIndex"], out pageIndex);
//每页容量
int pageSize = Convert.ToInt32(context.Request["pageSize"]);
if (pageIndex == 0)
{
pageIndex = 1;
}
//是否最后一页
string IsLastPage=context.Request["isLastPage"].ToString();
//获取页面查询参数
string name = (string.IsNullOrEmpty(context.Request["name"]) ? "" :context.Request["name"].ToString());
string strIsTotal = (string.IsNullOrEmpty(context.Request["isTotal"]) ? "false" :context.Request["isTotal"].ToString());
bool IsTotal = Convert.ToBoolean(strIsTotal);
string sql = "select * from Student where 1=1";
if (name.Length > 0)
{
sql = sql + "and name like '%" + name + "%'";
}
//第一次:取数据总数
if (IsTotal)
{
int iTotal = 0;
using (DataContext dc = new DataContext(ConfigurationManager.ConnectionStrings["constr"].ToString()))
{
iTotal = dc.ExecuteQuery<Student>(sql).Count();
}
context.Response.Write(iTotal);
context.Response.End();
}
//第二次:取数据
List<Student> list = new List<Student>();
using (DataContext dc = new DataContext(ConfigurationManager.ConnectionStrings["constr"].ToString()))
{
list = dc.ExecuteQuery<Student>(sql).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList<Student>();
}
StringBuilder sb = new StringBuilder();
if (list != null && list.Count > 0)
{
sb.Append("<table cellpadding='0' cellspacing='0' style='border-collapse:collapse;'>");
sb.Append("<tr style='background:green;color:white;border-top:1px solid gray;border-bottom:1px solid gray;'>");
sb.Append("<th>序号</th>");
sb.Append("<th>学号</th>");
sb.Append("<th>姓名</th>");
sb.Append("<th>性别</th>");
sb.Append("<th>出生日期</th>");
sb.Append("</tr>");
int i = 1;
foreach (Student s in list)
{
sb.Append("<tr style='border-top:1px solid gray;border-bottom:1px solid gray;'>");
sb.Append("<td style='padding-left:10px;padding-right:10px;'>" + i + "</td>");
sb.Append("<td style='padding-left:10px;padding-right:10px;'>" + s.Sno + "</td>");
sb.Append("<td style='padding-left:10px;padding-right:10px;'>" + s.Name + "</td>");
sb.Append("<td style='padding-left:10px;padding-right:10px;'>" + s.Sex + "</td>");
sb.Append("<td style='padding-left:10px;padding-right:10px;'>" + s.Birthday + "</td>");
sb.Append("</tr>");
i++;
}
sb.Append("</table>");
}
else
{
sb.Append("暂无数据");
}
string strIsLastPage = (IsLastPage=="1" ? "1" : "0");
context.Response.Write(sb.ToString() + strIsLastPage);
下面是运行效果