【问题标题】:How to get selected item in ASP.NET GridView如何在 ASP.NET GridView 中获取所选项目
【发布时间】:2011-09-15 23:19:44
【问题描述】:

当使用两个 SelectCommand 时,如何在 SelectedIndexChanging 处理程序上获取选定项?我可以通过 e.SelectedRow 获取选定的行,但无法获取选定的列。

GridView 中有多个 SelectCommand 是否正确?如果没有,最好的方法是什么?

【问题讨论】:

    标签: asp.net gridview selecteditem selectedindexchanged selectcommand


    【解决方案1】:

    您不是在网格视图中选择一列,而是选择一行。如果您希望行的特定字段是“可选择的”,您可以考虑使用 HyperLinkField 或 ButtonField 并为此处理事件。但据我所知,诚然它是有限的,纯粹通过 GridView 及其 SelectedRow 属性无法知道在选择行时该行中的哪个字段被“选中”。

    【讨论】:

      【解决方案2】:

      您不必使用选择命令。您可以使用模板字段并向其添加命名命令,然后您可以检查在 RowCommand 事件中单击了哪些(您也可以获取行索引)见下文。

        <asp:TemplateField ShowHeader="False">
                  <ItemTemplate>
                      <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false" 
                          CommandName="MyCommand" Text="Button" CommandArgument='<%# Container.DataItemIndex %>'></asp:LinkButton>
                  </ItemTemplate>
              </asp:TemplateField>
      

      下方的 RowCommend 事件

       protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
                  {
                      if(e.CommandName.Equals("MyCommand"))
                      {
                          int row = Int32.Parse(e.CommandArgument.ToString());
      
      
                      }
      
      
                  }
      

      【讨论】:

        猜你喜欢
        • 2012-02-07
        • 2012-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-16
        相关资源
        最近更新 更多