加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c#实现google样式的分页

发布时间:2020-12-15 04:39:29 所属栏目:百科 来源:网络整理
导读:table id="table14" height="230" cellspacing="0" cellpadding="0" width="95%" border="0" tr td style="FONT-SIZE: 10pt" valign="top"做一个项目,用到了DATALIST,由于分页的需求,手动写了分页的函数。个人觉得GOOGLE的分页很不错,上网查了下资料,修
<tr>
<td style="FONT-SIZE: 10pt" valign="top">做一个项目,用到了DATALIST,由于分页的需求,手动写了分页的函数。个人觉得GOOGLE的分页很不错,上网查了下资料,修改了下。??????????? 这里没有涉及到数据的分页读取,只是返回一个带HTML代码的分页样式(字符串),可以用label在页面显示,也可以用this.Controls.Add(new LiteralControl(string));方法加入到页面控件中。?????????????? /**//// ??????? /// 类似GOOGLE的分页函数,王传炜,资料参考<a href="http://www.phpx.com/happy/viewthread.php?tid=99280&amp;extra=&amp;page=2"&gt;<font color="#0000ff">http://www.phpx.com/happy/viewthread.php?tid=99280&amp;extra=&amp;page=2,谢谢YourEyes??????? /// ??????? /// <param name="total">总记录数??????? /// <param name="per">每页记录数??????? /// <param name="page">当前页数??????? /// <param name="query_string">Url参数??????? private string pagination(int total,int per,int page,string query_string)??????? {??????????? int allpage=0;??????????? int next=0;??????????? int pre=0;??????????? int startcount=0;??????????? int endcount=0;??????????? string pagestr="";
<p style="FONT-SIZE: 10pt">??????????? if(page<1){page=1;}??????????? //计算总页数??????????? if (per != 0)??????????? {??????????????? allpage = (total / per);??????????????? allpage = ((total % per) != 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 +"页&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";??????????? ??????????? pagestr+=page>1 ?? "<a href=""+ query_string + "?page=1">首页&nbsp;&nbsp;<a href=""+ query_string +"?page="+ pre +"">上一页": "首页 上一页";???????????? //中间页处理,这个增加时间复杂度,减小空间复杂度???????????? for(int i=startcount;i<=endcount;i++)???????????? { ???????????????? pagestr+=page==i?"&nbsp;&nbsp;<font color="#ff0000">"+i+"":"&nbsp;&nbsp;<a href=""+ query_string +"?page="+ i +"">"+ i +"";???????????? }???????????? pagestr+=page!=allpage ? "&nbsp;&nbsp;<a href=""+ query_string+"?page="+ next +"">下一页&nbsp;&nbsp;<a href=""+ query_string +"?page="+ allpage+"">末页" : " 下一页 末页";


<p style="FONT-SIZE: 10pt">??????????? return pagestr;


<p style="FONT-SIZE: 10pt">?????????? ??????? }


</td>
</tr></table>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

<table id="table14" height="230" cellspacing="0" cellpadding="0" width="95%" border="0">

    推荐文章
      热点阅读