我正在做一个网页,其中包含来自 MSSQL 的大量信息的搜索。我所做的是一个存储过程,它只返回要在网站上看到的页面。
现在我正在处理分页,因为我需要展示与谷歌类似的东西。如果你在第 1 页,它们会显示前 10 页,如果你在第 19 页,它们会从第 9 页到第 28 页显示。
我认为显示页码的最佳选择是在转发器中使用链接按钮。我现在遇到的问题是我不知道在回发时获取页码的最佳方法。
做一个快速示例,我将一个 ArrayList 分配给 repeater.datasource:
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="<%# Container.DataItem %>"><%# Container.DataItem %></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
<asp:LinkButton ID="LinkButton2" runat="server" CommandArgument="4654">Test #1</asp:LinkButton>
在我的 Default.aspx.cs 文件中,我有下一个代码
protected void Page_Load(object sender, EventArgs e)
{
if (this.IsPostBack)
{
string x = LinkButton2.CommandArgument;
//string y = LinkButton1.CommandArgument;
//I know this line will not work since the Linkbutton1 is inside the Repeater.
}
我该怎么做才能使它起作用?
有没有人对此分页有更好的解决方案?
谢谢
杰瑞