从GridView中从OnRowCommand中检索数据的麻烦

时间:2009-07-01 15:03:12

标签: c# asp.net gridview dynamic-data

如果我在GridView中有<asp:ButtonField runat="server" DataTextField="Name" CommandName="GetName"></asp:ButonField>。有没有办法从OnRowCommand方法中检索DataTextField(Name)?

<asp:GridView ID="GridView1" runat="server" 
 AllowPaging="True" AutoGenerateColumns="False" 
 DataSourceID="ObjectDataSource_Names" 
 DataKeyNames="ID,ModuleId" OnRowCommand="ChangeName"> 

或者,有没有办法让CommandName成为根据给定数据动态输入命令的属性,类似于DataTextField与TextField之间的区别。

2 个答案:

答案 0 :(得分:0)

我添加了<asp:BoundField DataField="Name" />然后您可以使用相同的方法检索它:GridView.onRowCommand Method

现在我需要做的就是找到一种隐藏场地的方法。如果有人知道怎么做,请告诉我。 Visible =“false”一起摆脱了这个领域......

答案 1 :(得分:0)

不确定这是否是最佳方式,但它有效:

使您的列成为模板字段并将名称值绑定到asp:hiddenfield控件:

<asp:TemplateField>
   <ItemTemplate>
      <asp:HiddenField ID="hfName" runat="server" Value='<%# Eval("Name") %>'>
      </asp:HiddenField>
   </ItemTemplate>
</asp:TemplateField>