用于分页 ASP.Net 的中继器内的链接按钮

2024-05-06

我正在制作一个带有搜索的网页,该搜索从 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.
            }

我该怎么做才能让它发挥作用?

对于这种分页,有人有更好的解决方案吗?

谢谢

Jerry


您正在寻找 ItemCommand 事件:

  <asp:Repeater ID="Repeater1" OnItemCommand="ItemCommand" runat="server">
    <ItemTemplate>
      <asp:LinkButton CommandName="ButtonEvent" CommandArgument="<%# Container.DataItem %>" Text="<%#Container.DataItem %>" runat="server"></asp:LinkButton>
    </ItemTemplate>
  </asp:Repeater>

背后代码:

protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
    Repeater1.DataSource = Enumerable.Range(1, 10);
    Repeater1.DataBind();
  }
}

protected void ItemCommand(Object Sender, RepeaterCommandEventArgs e)
{
  Response.Write("The no. " + ((LinkButton)e.CommandSource).Text + " button was clicked!");
}

...但是您真的确定需要 LinkBut​​ton 吗?纯 HTML 锚标记可能同样有效,而且不那么模糊。 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于分页 ASP.Net 的中继器内的链接按钮 的相关文章

随机推荐

  • 将元素追加到 Angular QueryList

    有没有办法将新元素追加到 QueryList 中 例如 我有一个像这样的查询列表 ContentChildren SysColumn syscolumns QueryList
  • Ruby 枚举器链接

    在这个例子中 1 2 3 each with index map i j i j gt 0 2 6 我的理解是 既然each with index枚举器链接到map map表现得像each with index通过在块内传递索引 并返回一个
  • Adobe Reader 命令行参考

    有没有official不同版本的命令行 开关 参考Adobe 以前称为 Acrobat Reader 我没有找到任何东西Adobe 开发人员连接 http www adobe com devnet 我特别想 启动 Reader 并打开文件
  • 查找彼此接近的对象边界

    我正在研究一个计算机视觉问题 其中问题的第一步是找到物体彼此靠近的位置 例如 在下图中 我感兴趣的是找到灰色标记的区域 Input Output 我目前的方法是首先反转图像 然后通过侵蚀进行形态梯度跟随 然后删除一些不感兴趣的轮廓 脚本如下
  • Hibernate从数据库获取列表

    在下面的代码中 我尝试获取包含数据库中所有产品的产品列表 public List
  • 如何在iphone中画同心圆?

    我想画一个戒指 环应填充在外圆中 我参考了一个文档http developer apple com library mac documentation GraphicsImaging Conceptual drawingwithquartz
  • 将 xml 转换为 python 字典

    我正在尝试创建一个 dict 类来处理 xml 但陷入困境 我真的没有想法了 如果有人可以指导这个主题 那就太好了 到目前为止开发的代码 class XMLResponse dict def init self xml self resul
  • 使用 Scoop 编程 DEAP

    我在 python 中使用 DEAP 库来解决多目标优化问题 我想使用多个处理器来完成这项任务 但是 我遇到了一些麻烦 为了提供一些背景信息 我将 networkx 与 DEAP 结合使用 我还定义了适应度函数 交叉和变异函数 由于某些原因
  • 从 JDK 1.6 迁移到 JDK 1.7 的 PowerMockito 测试出现约束违规

    我们有一些测试在 JDK 1 6 上运行良好 我们现在正在转向 JDK 1 7 这些测试在 Eclipse 中运行良好 当我们从 Ant 构建运行这些测试时 我们会看到如下错误 junit framework TestListener ad
  • 具有多个滚动方向的颤动列表视图

    我有某种时间表 其中包含小时数和天数 Widget buildSchedule ScheduleLoaded state final List
  • Linux 源代码中的哪个位置会识别特定的 USB 设备?

    我有一个特定的 USB 设备 我想检查其 Linux 驱动程序源代码 我的理解是 USB 驱动程序执行的第一步是注册自己能够处理具有特定供应商 ID 和产品 ID 的设备 就我而言 供应商 ID 是0BDA产品 ID 是8187 有了这些信
  • 如何在 Web 浏览器中捕获“JavaScript SetCookie 事件”?

    如何在浏览器中捕获 JavaScript SetCookie 事件 我想当 javascript setcookie 事件同时发生时将 cookie 同步到 CookieContainer 例如 有与此相关的事件吗 谢谢 环境 Net 2
  • 如何理解Python中的sys.stdout和sys.stderr

    我有以下简单的 Python 代码 stdout sys stdout stderr sys stderr try Omitted finally sys stdout stdout 经过搜索 我发现系统标准输入 系统标准输出 and 系统
  • Android IllegalStateException:片段 null 必须是公共静态类才能从实例状态正确重新创建

    我的 Android 应用程序出现以下异常 FATAL EXCEPTION main java lang IllegalStateException Fragment null must be a public static class t
  • 我可以在导航抽屉的片段中使用 CollapsingToolbarLayout

    我可以在导航抽屉的片段中使用 CollapsingToolbarLayout 吗 我尝试这个样本 http www androidhive info 2015 04 android getting started with material
  • 为什么我无法通过 Powershell DSC 在无人值守模式下配置 TFS Build Service?

    使用以下 DSC 配置 仅资源部分的片段 删除 SO 的前导码 诊断和 Start DscConfiguration 部分 Package TFSServer2013 Name Microsoft Team Foundation Serve
  • 错误:找不到符号 array.add(element);

    我有一个程序 它从文件中读取 获取每个单词并将其作为字符串添加到数组中 我在将字符串添加到数组时遇到了一些麻烦 我收到错误 SortingWords java 73 error cannot find symbol array add el
  • SendKeys 或 SendTextEntry 到游戏

    我想制作一个程序来保存一些服务器 IP 地址 并在用户想要使用时使用其中一个 并且游戏不支持复制粘贴命令 因此 如果玩家想要加入另一个服务器 就必须浪费时间输入IP地址 我想让我的程序在用户按下 F12 按钮时在游戏的 IP 地址框中输入地
  • 如何翻译 Sonata Admin Bundle 中的标签

    我正在使用 Symfony 2 3 和 Sonata Admin Bundle 我知道我可以用这种方式翻译标签 gt add shortDescription null array label gt shortDescriptionTran
  • 用于分页 ASP.Net 的中继器内的链接按钮

    我正在制作一个带有搜索的网页 该搜索从 MSSQL 中获取大量信息 我所做的是一个存储过程 仅返回要在网站上看到的页面 现在我正在处理分页 因为我需要显示类似于谷歌的内容 如果您在第 1 页 它们会显示前 10 页 如果您在第 19 页 它