时间:2016-02-16 01:42 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net中一个linq分页实现代码】,下面是详细的讲解!
asp.net中一个linq分页实现代码
public static string GetPageNum(DataTable ds, DataList datalistname, int pagesize)
{
PagedDataSource objPds=new PagedDataSource();
objPds.DataSource=ds.DefaultView;
objPds.AllowPaging=true;
int total=ds.Rows.Count;
objPds.PageSize=pagesize;
int page;
if (HttpContext.Current.Request.QueryString["page"] !=null)
page=Convert.ToInt32(HttpContext.Current.Request.QueryString["page"]);
else
page=1;
objPds.CurrentPageIndex=page - 1;
datalistname.DataSource=objPds;
datalistname.DataBind();
int allpage=0;
int next=0;
int pre=0;
int startcount=0;
int endcount=0;
string pagestr="";
if (page < 1) { page=1; }
//计算总页数
if (pagesize !=0)
{
allpage=(total / pagesize);
allpage=((total % pagesize) !=0 ? allpage + 1 : allpage);
allpage=(allpage==0 ? 1 : allpage);
}
next=page + 1;
pre=page - 1;
startcount=(page + 5) > allpage ? allpage - 9 : page - 4;//中间页起始序号
//中间页终止序号
endcount=page < 5 ? 10 : page + 5;
if (startcount < 1) { startcount=1; } //为了避免输出的时候产生负数,设置如果小于1就从序号1开始
if (allpage < endcount) { endcount=allpage; } //页码+5的可能性就会产生最终输出序号大于总页码,那么就要将其控制在页码数之内
pagestr="共" + allpage + "页  ";
pagestr +=page > 1 ? "<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=1\">首页</a> <a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + pre + "\">上一页</a>" : "首页 上一页";
//中间页处理,这个增加时间复杂度,减小空间复杂度
for (int i=startcount; i <=endcount; i++)
{
pagestr +=page==i ? " <font color=\"#ff0000\">" + i + "</font>" : " <a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + i + "\">" + i + "</a>";
}
pagestr +=page !=allpage ? " <a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + next + "\">下一页</a> <a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + allpage + "\">末页</a>" : " 下一页 末页";
return pagestr;
}
关于asp.net中一个linq分页实现代码的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【增加记录】asp.net中获取新增加记录的ID Access
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
