如何在回发中保存asp:HiddenField值?
答案 0 :(得分:15)
这与ViewState无关。通过执行POST来维护表单控件的值。只要在页面生命周期中尽早创建控件,就会在控件上设置已发布的值。如果刷新页面或单击执行GET的超链接,则该值将丢失或恢复为设计器生成的默认值。
回到你的问题,如果你有一个设计器生成的HiddenField
(在aspx文件中),它应该自动设置回发值。您要么在代码中的其他位置更改它,要么在设置之前尝试访问该值(即在Page_Load()
之前)。如果您有代码生成的HiddenField
,则需要具有相同的ID并在页面设置发布值之前创建,例如在OnInit
中。
我建议你仔细阅读并理解以下文章。否则,您将继续打墙,因为Page lifecycle和ViewState是基础。
http://msdn.microsoft.com/en-us/library/ms972976.aspx
http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx
答案 1 :(得分:11)
在asp:UpdatePanel中放置和asp:hiddenfield。
答案 2 :(得分:3)
如果你动态添加它,如果它在页面生命周期中添加得太晚就会发生。在PreInit中添加它你应该没问题。查看http://msdn.microsoft.com/en-us/library/ms178472.aspx了解详情。
答案 3 :(得分:2)
将EnableViewState设置为True
答案 4 :(得分:2)
默认情况下,它是为此而构建的。除非您已禁用控件,父控件或页面的viewstate,否则不应存在问题。
答案 5 :(得分:2)
是的,asp:HiddenField
内的asp:UpdatePanel
有效。
答案 6 :(得分:0)
由于更新面板而发生,请检查您的更新面板。在整个页面上使用一个更新面板。