我应该如何编码这个分页?
我已经在一些分页代码上苦苦挣扎了几天(是的!几天),但无法让它正常工作,可能是因为我对此类问题还没有任何经验。
我想做的分页应该是这样的:
1 2 3 4 5 6 ... 101
当我点击数字 5 时,我希望它显示这样的数字:
1 ... 3 4 5 6 7 ... 101
当我在最后几页时,我希望它看起来与第一页类似:
1 ... 96 97 98 99 100 101
粗体数字是您当前正在查看的页面。
我希望仅当有超过 7 个可用页面时才显示点,如果没有,它应该看起来像正常的分页:
12 3 4 5 6 7
现在我想每页显示 10 个项目。
我想要使用的语言是 C# (ASP.NET),并且希望稍后将其设为用户控件(我应该在其中设置属性 TotalNumberOfItems、ItemsPerPage 等)。
问题: 我如何编写代码以在正确的位置循环出数字? :)
I've been struggling with some code for a paging for a couple of days (YES! days) now but can't get it to work properly, probably because I don't have any experience on this kind of problems yet.
the paging I'm trying to do should look something like this:
1 2 3 4 5 6 ... 101
When i click on number 5 i would like it to display the numbers like this:
1 ... 3 4 5 6 7 ... 101
when I'm at the last couple of pages i want it to look similar to the first one:
1 ... 96 97 98 99 100 101
The bold number is the page that you're currently viewing.
I want the dots to appear only when there is more than 7 pages available, if not it should look like a normal paging would look like:
1 2 3 4 5 6 7
Right now i want to display 10 items per page.
The language i want to use is C# (ASP.NET) and would like to, later on make this a usercontrol (Where i should set the properties TotalNumberOfItems, ItemsPerPage and so on).
The question:
How do i write the code to loop out the numbers on the correct places? :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
怎么样(让它加粗有点伪代码,因为我不知道你在什么 UI...)
唯一的问题是如何使其加粗(取决于你是在 WinForms 还是 ASP.Net...
...并添加内容以使其成为可点击的链接...
How about (Make it Bold is somewhat psuedoCode cause I don't know what UI you're in...)
Only thing is how to make it bold (Depends on whether you're in WinForms or ASP.Net...
... And add stuff to make it a clickable link...
您需要最大寻呼机内部列表大小(点之间的大小)、页面大小、文档计数器和当前页面索引。然后你可以使用这样的算法:
然后我们可以将此列表数据绑定到某个中继器或使用其他方式来显示这些点之间的公共链接(或没有它们)。
You need maximum pager inner list size (those between dots), page size, documents counter and current page index. Then you can use algorithm like this:
and then we can databind this list to some repeater or use it some other way to display common links between those dots (or without them).
我曾经做过类似的事情。它有一些与您想要的不同,但应该会有所帮助。这是一个快速而肮脏的问题解决方案,并且存在许多效率问题,但这是一个好的开始。
示例输出 -
有关完整详细信息,请参阅帖子 此处。
I've done something like that. It has a few that are different from what you want exactly, but should be helpful. This was a quick and dirty solution to a problem and has a number of efficiency issues, but it's a good start.
Sample output -
For full details see a post here.