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
。然而,由于缺乏信息,很难说。