如何在回发后保存asp:HiddenField值?

时间:2010-10-18 17:14:23

标签: asp.net

如何在回发中保存asp:HiddenField值?

7 个答案:

答案 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)

由于更新面板而发生,请检查您的更新面板。在整个页面上使用一个更新面板。