ASP.Net - 每行的GridView服务器端变量?

时间:2013-06-06 06:41:19

标签: asp.net gridview

我想在GridView中添加一个未向用户显示的隐藏键字段。我尝试过这样的事情:

<asp:GridView ...>
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:HiddenField ID="secretkey" runat="server" Value='<%# Eval("secretkey") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

但隐藏字段仍然以html源中的纯文本形式显示。是否可以使用服务器状态执行此类操作?

3 个答案:

答案 0 :(得分:1)

使用datakeynames,您甚至可以将多个键与行相关联。请查看以下链接http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.datakeynames.aspx

答案 1 :(得分:0)

Session将是存储PostBack所需的小数据但不能发送到客户端的最佳位置。

您可以将按行标识符索引的词典放入会话中,并使用它来获取您的密钥。

请注意,会话是跨页面维护的,因此,除非您确定信息在内存中直到用户退出(最终退出),否则您必须在完成后将其删除。

答案 2 :(得分:0)

是隐藏字段将在html源中可见,而您应该使用datakey来使用您的密钥