响应 GridView 控件中的按钮事件

响应 GridView 控件中的按钮事件

可以使用事件参数的 CommandName 属性在事件处理程序方法中标识按钮的功能。如果使用的是 ButtonFieldTemplateField 对象,则还可以使用 CommandArgument 属性来标识当前行。使用的是 ButtonField 对象时,CommandArgument 属性自动设置为行索引。使用的是 TemplateField 对象时,控件不会自动设置 CommandArgument 属性。在这种情况下,如果必须在事件处理程序中确定行索引,则可以使用数据绑定表达式将该按钮的 CommandArgument 属性设置为行索引。

  1. 将按钮的 CommandName 属性设置为标识其功能的字符串,如“打印”或“复制”。

  2. 如果使用的是 TemplateField 对象并且必须在事件处理程序方法中访问行索引,则将按钮的 CommandArgument 属性设置为标识当前行的表达式。

    下面的示例演示如何将 TemplateField 列中某个按钮的 CommandArgument 属性设置为当前行索引。在该示例中,该列包含一个显示购物车的 Button 控件。

  3. <asp:TemplateField>
      <ItemTemplate>
        <asp:Button ID="AddButton" runat="server"
          CommandName="AddToCart"
          CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
          Text="Add to Cart" />
      </ItemTemplate>
    </asp:TemplateField>

  4. protected void GridView1_RowCommand(object sender,
      GridViewCommandEventArgs e)
    {
      if (e.CommandName == "AddToCart")
      {
        // Retrieve the row index stored in the
        // CommandArgument property.
        int index = Convert.ToInt32(e.CommandArgument);

        // Retrieve the row that contains the button
        // from the Rows collection.
        GridViewRow row = GridView1.Rows[index];

        // Add code here to add the item to the shopping cart.
      }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值