0

我想在不向用户显示的 GridView 中添加一个隐藏的关键字段。我尝试做类似的事情:

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

但隐藏字段最终仍以纯文本形式显示在 html 源代码中。是否可以使用服务器状态做这样的事情?

4

3 回答 3

1

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

于 2013-06-06T07:31:13.187 回答
0

Session将是存储您需要跨 PostBacks 但无法发送到客户端的小数据的最佳位置。

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

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

于 2013-06-06T06:54:09.250 回答
0

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

于 2013-06-06T06:54:35.703 回答