所以我有一个用于C#Web应用程序的GridView,它有一个Buttonfield,当点击该按钮时,我需要获取该行的一个字段的值并将其存储在变量中以便在某些变量中处理方式。
然而,GridView和ButtonField都没有任何方法可以做到这一点。
任何人都可以推荐一种从GridView获取数据的方法,或者如果这是不可能的,提供此功能的不同类型的视图,同时仍然显示整个表(例如,不是DetailsView)
答案 0 :(得分:1)
您可以点击此链接:https://msdn.microsoft.com/en-us/library/bb907626(v=vs.140).aspx。
Map
答案 1 :(得分:0)
如果您使用如下所示的asp:TemplateField
,则可以使用RowCommand
标记
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblCode" runat="server" Text='<%# Eval("CustomerID") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:ButtonField CommandName="AddCode" Text="Add New"/>
代码
protected void gvwSearch_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName == "AddCode")
{
var clickedButton = e.CommandSource as Button;
var clickedRow = clickedButton.NamingContainer as GridViewRow;
var rows_lblCode = clickedRow.FindControl("lblCode") as Label;
// now you can acccess all the label properties. For example,
var temp = rows_lblCode.Text;
}
}