ASP.NET分页控件
发布时间:2020-12-15 23:39:09 所属栏目:asp.Net 来源:网络整理
导读:我正在ASP.NET中寻找一个不错的分页控件,就像Stackoverflow pager一样.有人可以推荐一个吗? 我更喜欢没有使用Postback的一个,只是一个可定制的查询字符串. 解决方法 自己滚动很容易我创建了一个基于堆栈溢出寻呼机的简单用户控制,具有两个属性… 根据底层数
我正在ASP.NET中寻找一个不错的分页控件,就像Stackoverflow pager一样.有人可以推荐一个吗?
我更喜欢没有使用Postback的一个,只是一个可定制的查询字符串. 解决方法
自己滚动很容易我创建了一个基于堆栈溢出寻呼机的简单用户控制,具有两个属性…
>根据底层数据可用的总页数 所选页面通过读取查询字符串来确定.最大的挑战是使用新的页码更改URL.此方法使用查询字符串参数’p’来指定要显示的页面… string getLink(int toPage) { NameValueCollection query = HttpUtility.ParseQueryString(Request.Url.Query); query["p"] = toPage.ToString(); string url = Request.Path; for(int i = 0; i < query.Count; i++) { url += string.Format("{0}{1}={2}",i == 0 ? "?" : "&",query.Keys[i],string.Join(",",query.GetValues(i))); } return url; } 一个简单的公式来确定页码的范围来显示… int min = Math.Min(Math.Max(0,Selected - (PageLinksToShow / 2)),Math.Max(0,PageCount - PageLinksToShow + 1)); int max = Math.Min(PageCount,min + PageLinksToShow); 然后,每个链接都会使用类似的东西(其中min和max指定要创建的页面链接的范围)生成… for (int i = min; i <= max; i++) { HyperLink btn = new HyperLink(); btn.Text = (i + 1).ToString(); btn.NavigateUrl = getLink(i); btn.CssClass = "pageNumbers" + (Selected == i ? " current" : string.Empty); this.Controls.Add(btn); } 还可以创建“上一个”(和“下一个”)按钮… HyperLink previous = new HyperLink(); previous.Text = "Previous"; previous.NavigateUrl = getLink(Selected - 1); 第一个和最后一个按钮是直接的… HyperLink previous = new HyperLink(); previous.Text = "1"; first.NavigateUrl = getLink(0); 在确定何时显示“…”时,当链接范围不在第一页或最后一页时,显示文字控件… if (min > 0) { Literal spacer = new Literal(); spacer.Text = "…"; this.Controls.Add(spacer); } 对“max< PageCount”执行上述操作. 所有这些代码都被放在CreateChildControls的覆盖方法中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 图表 – 在Asp.net mvc中实施Google Analytics
- asp.net-mvc – Razor中()(括号)和{}(大括号)之间的差异
- asp.net-mvc – Asp.Net MVC 2 – 在Model Binder中迭代表单
- ASP.NET MVC 4 JSON绑定到视图模型 – 嵌套对象错误
- asp.net网站与网络应用程序
- asp.net – Telerik RadGrid GridDataItem – 如何确定列是
- .net – 更新面板复制我的控件
- asp.net – Umbraco 7:无法加载类型Umbraco.Web.UmbracoAp
- asp.net – IIS 6如何从http://example.com/*重定向到http:
- asp.net core 系列 9 三种运行环境和IIS发布
推荐文章
站长推荐
- asp.net core 2.2 生产环境直接更新View页面并立
- ASP.NET MVC中的jQuery AJAX响应
- 水平asp.net菜单显示为垂直列表
- asp.net-mvc-4 – 在EF迁移配置类的Seed方法中获
- asp.net-mvc – Orchard CMS:未显示内容部分
- asp.net-mvc-2 – 如何使用控制器的模型提供ASP.
- asp.net-mvc-3 – 如何正确使用RedirectToAction
- ASP.NET Core本身已经集成了一个轻量级的IOC容器
- asp.net – Html.Partial vs Html.RenderPartial
- asp.net – AspNetCompatibilityRequirements是什
热点阅读