GridView中的隐藏字段值

时间:2011-02-19 07:29:07

标签: c# asp.net gridview

如何在asp.net的GridView中获取隐藏列的值?

4 个答案:

答案 0 :(得分:1)

首先在网格视图中选择列并将其设为模板列,如下所示:

<asp:Template Field Header Text="SavingId" Visible="false">
    <ItemTemplate>
        <asp:Label ID = "lblSavingId" runat="server" Text ='<%#Bind(SavingId")%>' />
    </ItemTemplate>
</asp:TemplateField>

之后在编码方面你可以像下面这样轻松获取值:

string id= (gridview1.Rows[i].FindControl("lblSavingId") as label).text;

答案 1 :(得分:0)

如果“查看”是您的GridView:

HiddenField test = view.Rows[0].Cells[0].FindControl("myHiddenField") as HiddenField

答案 2 :(得分:0)

如果您在gridview itemtemplate中隐藏了字段,那么您可以通过以下方式找到:

项目数据绑定事件中的

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
    // Find the hidden field   
    HiddenField _hdn =
    (HiddenField)e.Item.FindControl("HiddenField Id Put Here"); 
}
希望这有帮助。

答案 3 :(得分:0)

我实际上发现Visible = False的列不会出现在结果中。

我需要做的是获得所需的行为,将列设置为可见,然后将样式设置为“visibility:hidden; display:none;”将其隐藏。当我这样做时,我可以通过选择一些其他帖子所指示的列/行来访问列的值。

如果您正在使用DataList,也可以使用隐藏字段执行相同的操作,但如果您使用的是GridView(从您的帖子中听起来就像这是您正在做的事情),您可能需要采取类似的方法。