获取不可见的边界字段的值
本文关键字:边界 字段 获取 | 更新日期: 2023-09-27 18:34:49
我的网格视图中有以下两个边界字段
<asp:BoundField DataField="ProductId" HeaderText="ID" HeaderStyle-HorizontalAlign="Left" Visible = "false" />
<asp:BoundField DataField="ProductDescription" HeaderText="product Description" HeaderStyle-HorizontalAlign="Left" />
如果第一个绑定字段设置为可见 false,如何获取其值?
您不能访问不可见的 BoundField 的值。您必须使用 TemplateField
并在其中添加 HiddenField
控件并绑定其 Value 属性。
标记
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="HiddenField1" runat="server"
Value='<%# Eval("ProductId") %>' />
....
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
代码隐藏,用于从每行的第一个单元格的 HiddenField 控件中获取值。
foreach (GridViewRow row in GridView1.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
HiddenField productid = row.Cells[0].FindControl("HiddenField1") as HiddenField;
...
}
}
使用 ID 时,最好在 GridView 上使用DataKeyNames
属性
DataKeyNames="ProductId"
然后在后面的代码中你可以得到它
GridView1.DataKeys[row_index]["ProductId"]