C# 从GridViewRow asp webform获取命令参数

C# 从GridViewRow asp webform获取命令参数,c#,asp.net,gridview,webforms,C#,Asp.net,Gridview,Webforms,是否可以从GridViewRow获取CommandArgument 在for each loop in按钮中,单击事件我需要CommandArgument 示例代码: foreach (GridViewRow row in MyGridView.Rows) { ... string commandArgument = ?; ... } 根据你的评论,我理解你的使命。你可以解决这个问题 通过创建用于获取表Id的隐藏字段,您可以在选中复选框时访

是否可以从
GridViewRow
获取
CommandArgument

在for each loop in按钮中,单击事件我需要
CommandArgument

示例代码:

foreach (GridViewRow row in MyGridView.Rows)
   {
       ...
       string commandArgument = ?;
       ...
   }

根据你的评论,我理解你的使命。你可以解决这个问题 通过创建用于获取表Id的隐藏字段,您可以在选中复选框时访问此Id。然后根据id进行更新。这里我正在更新 网格视图的名称列

样本: WebForm1.aspx

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCommand="GridView1_RowCommand" OnRowEditing="GridView1_RowEditing">
            <Columns>
                <asp:TemplateField HeaderText="name">
                    <ItemTemplate>
                        <asp:Label ID="lblUpdate" runat="server" Text= '<%#Eval("name") %>'></asp:Label> 
                        <asp:CheckBox ID="chkbox" runat="server" />
                         <asp:HiddenField ID="HiddenField1" runat="server" Value='<%#Eval("ID") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
注意此处单元格[0]表示第一个模板字段数据。我之所以使用它,是因为我将所有的name字段和checkbox字段放在了第一个templatefield中


我想这对你有帮助。:)

根据你的评论,我理解你的使命。你可以解决这个问题 通过创建用于获取表Id的隐藏字段,您可以在选中复选框时访问此Id。然后根据id进行更新。这里我正在更新 网格视图的名称列

样本: WebForm1.aspx

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCommand="GridView1_RowCommand" OnRowEditing="GridView1_RowEditing">
            <Columns>
                <asp:TemplateField HeaderText="name">
                    <ItemTemplate>
                        <asp:Label ID="lblUpdate" runat="server" Text= '<%#Eval("name") %>'></asp:Label> 
                        <asp:CheckBox ID="chkbox" runat="server" />
                         <asp:HiddenField ID="HiddenField1" runat="server" Value='<%#Eval("ID") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
注意此处单元格[0]表示第一个模板字段数据。我之所以使用它,是因为我将所有的name字段和checkbox字段放在了第一个templatefield中


我想这对你有帮助。:)

你能解释一下你为什么需要它吗?@MAdeelKhalid每行都有一个复选框。如果选中了每个复选框,则更新绑定到行的数据,这不是CommandArgument的工作方式。您可能需要
DataKeyNames
。但是由于缺乏信息,很难说。你能解释一下你为什么需要它吗?@MAdeelKhalid每行都有一个复选框。如果选中了每个复选框,则更新绑定到行的数据,这不是CommandArgument的工作方式。您可能需要
DataKeyNames
。然而,由于缺乏信息,很难说。