快速业务通道

一个简单的ASP.MVC分页控件

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20

分页功能实现方面参考了网上的一些内容,加上自己的一些修改,使用方式如 下:

(鉴于分页代码基本上和别人的没什么两样,所以这里就省略了。)

封装扩展方法

public static string Pager(this HtmlHelper html, IPageData model, bool alwaysShow,bool showNumber)
{
string text = "<!--没有任何数据,所以不显示分页控件-->";
bool show = model.TotalCount > 0 && alwaysShow || model.TotalCount > model.PageSize;
if (show)
{
StringBuilder sb = new StringBuilder();
var reqUrl = html.ViewContext.RequestContext.HttpContext.Request.Url.ToString();
string link = "";
if (reqUrl.IndexOf("page") >= 0)
{
Regex re = new Regex(@"page=(\d+)", RegexOptions.IgnoreCase);
link = re.Replace(reqUrl, "page=%7Bpage%7D");
}
else if (reqUrl.IndexOf("?") < 0)
{
link = reqUrl + "?page=%7Bpage%7D";
}
else
{
link = reqUrl + "&page=%7Bpage%7D";
}
#region 生成四个按钮
TagBuilder root = new TagBuilder("div");
root.AddCssClass("ZuiePager");
TagBuilder fBtn = new TagBuilder("a");
fBtn.AddCssClass("btn");
fBtn.MergeAttribute("style", "font-family:Webdings;");
fBtn.InnerHtml = "9";
TagBuilder pBtn = new TagBuilder("a");
pBtn.AddCssClass("btn");
pBtn.MergeAttribute("style", "font-family:Webdings;");
pBtn.InnerHtml = "3";
TagBuilder nBtn = new TagBuilder("a");
nBtn.AddCssClass("btn");
nBtn.MergeAttribute("style", "font-family:Webdings;");
nBtn.InnerHtml = "4";
TagBuilder lBtn = new TagBuilder("a");
lBtn.AddCssClass("btn");
lBtn.MergeAttribute("style", "font-family:Webdings;");
lBtn.InnerHtml = ":";
#endregion
int p = model.PageIndex;
#region 判断首尾页
if (model.HasPreviousPage)
{
string pUrl = link.Replace("%7Bpage%7D", (p - 1).ToString());
string fUrl = link.Replace("%7Bpage%7D", (1).ToString());
fBtn.MergeAttribute("href", fUrl);
pBtn.MergeAttribute("href", pUrl);
}
else
{
fBtn.MergeAttribute("disabled", "disabled")

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号