我在Web窗体中有一个ASP.NET GridView控件。为简单起见,我会说这个GridView定义如下:
<asp:GridView ID="myGridView" runat="server" AutoGenerateColumns="false"
AllowPaging="true" AllowSorting="true" PageSize="50"
OnRowDataBound="myGridView_RowBound" DataKeyNames="ID"
OnLoad="myGridView_Load" OnPageIndexChanging="myGridView_PageIndexChanging"
OnSorting="myGridView_Sorting">
<Columns>
<asp:BoundField DataField="ID" Visible="false" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="Age" HeaderText="Age" SortExpression="Age" />
</Columns>
</asp:GridView>
当绑定这些行中的每一行时(在“myGridView_RowBound”事件期间为a.k.a.),我想获取ID,Name和Age值。我的问题是,我无法弄清楚如何获得“ID”值。原因是因为它处于一个看不见的领域。有人能告诉我如何获得价值
答案 0 :(得分:3)
您可以在数据绑定(onrowcreated)后隐藏单元格,也可以处理绑定以隐藏列。
查看this article了解详情。
答案 1 :(得分:1)
在行数据绑定事件上,您可以通过绑定数据项访问ID。无需与列进行交互。
例如,您可能拥有行数据绑定事件。
void myGridView_RowBound(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
var item = e.Row.DataItem as T;
// where T is your item type
if (item != null) {
var id = item.ID;
}
}
}