Asp.Net实现的通用分页函数
本文实例讲述了Asp.Net实现的通用分页函数。分享给大家供大家参考,具体如下:
功能:
1.每页设置显示9页,超过9页,点5页后的+1页显示(可以随便修改)
2.CSS样式自己可以设置
3.无任何咋代码产生,利于搜索引擎优化
分页程序
objPDS=newPagedDataSource();
objPDS.DataSource=dtTable.DefaultView;//绑定数据源
objPDS.AllowPaging=true;
objPDS.PageSize=10;//分页数目
intcurPage;
intcshi;
intjshi;
intzyes=Int32.Parse(objPDS.PageCount.ToString());
this.tjixx.Text="总共<fontcolor=red>"+dtTable.Rows.Count+"</font>条信息";
this.tjixx.Text+="|共<fontcolor=red>"+zyes+"</font>页";
if(Request.QueryString["Page"]!=null)
{
if(Int32.Parse(Request.QueryString["Page"])>zyes)
curPage=zyes;
else
curPage=Int32.Parse(Request.QueryString["Page"]);
}
else
{
curPage=1;
}
if(zyes<=9)
{
cshi=1;
jshi=zyes;
}
else
{
if(curPage<=5)
{
cshi=1;
jshi=9;
}
else
{
cshi=curPage-4;
intjshils=curPage+4;
if(jshils>zyes)
jshi=zyes;
else
jshi=curPage+4;
}
}
objPDS.CurrentPageIndex=curPage-1;
StringBuilderm_strPageInfo=newStringBuilder();
for(inti=cshi;i<=jshi;i++)
{
if(i==Int32.Parse(curPage.ToString()))
m_strPageInfo.Append("<spanclass=\"dqye\"><strong>"+i+"</strong></span>");
else
m_strPageInfo.Append("<spanclass=\"qtye\"><strong><ahref=\"newslist_ej"+Request.QueryString["wzcat"]+"_Page"+i+".html\">"+i+"</a></strong></span>");
}
this.yemsl.Text=m_strPageInfo.ToString();
if(!objPDS.IsFirstPage)
{
linkPre.NavigateUrl="newslist_ej"+Request.QueryString["wzcat"]+"_Page"+Convert.ToString(curPage-1);
linkPre.NavigateUrl+=".html";
}
if(!objPDS.IsLastPage)
{
linkNext.NavigateUrl="newslist_ej"+Request.QueryString["wzcat"]+"_Page"+Convert.ToString(curPage+1);
linkNext.NavigateUrl+=".html";
}
linkFirstPage.NavigateUrl="newslist_ej"+Request.QueryString["wzcat"]+"_Page1";
linkFirstPage.NavigateUrl+=".html";
linkEndPage.NavigateUrl="newslist_ej"+Request.QueryString["wzcat"]+"_Page"+objPDS.PageCount.ToString();
linkEndPage.NavigateUrl+=".html";
this.DataList4.DataSource=objPDS;//绑定分页的数据
this.DataList4.DataBind();
Aspx文件:
分页部分:
<divalign="center"><asp:HyperLinkID="linkFirstPage"runat="server"Font-Underline="False">首页</asp:HyperLink><< <asp:HyperLinkID="linkPre"runat="server"Font-Underline="False">上一页</asp:HyperLink> <asp:LiteralID="yemsl"runat="server"></asp:Literal> <asp:HyperLinkID="linkNext"runat="server"Font-Underline="False">下一页</asp:HyperLink> >><asp:HyperLink ID="linkEndPage"runat="server"Font-Underline="False">尾页</asp:HyperLink>|<asp:Literal ID="tjixx"runat="server"></asp:Literal></div>
更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net文件操作技巧汇总》、《asp.netajax技巧总结专题》及《asp.net缓存操作技巧总结》。
希望本文所述对大家asp.net程序设计有所帮助。