即使视图状态被禁用,TextBox也可以保留在其中输入的值,因为LoadPostBackData事件会奇怪地将数据加载到PagePostBack的TextBox中。是否有特定原因TextBox具有ViewState或ViewState刚从WebControl类继承?
答案 0 :(得分:4)
ViewState包含的内容远不止于文本。
澄清一下:如果你Textbox1.Visible = false;
,那么控件将不会呈现任何html输出。启用ViewState后,其完整运行时状态仍将传递给下一个回发,包括 Text 属性, Visible 属性及其许多其他属性。
换句话说,启用ViewState后,Web控件永远不会丢失任何状态,即使控件本身未在html输出中呈现。
禁用ViewState后,只要将可见设置为False,文字属性(以及所有其他属性)就会丢失其值;或者甚至为其周围/父控件设置可见设置为False。
答案 1 :(得分:3)
Some properties of a control are required to maintain their values between postbacks这样他们就可以正常工作了。禁用ViewState不会禁用此行为。
Text是TextBox的唯一属性,可以在回发之间保留数据,甚至禁用ViewState,但另一方面,ToolTip使用页面ViewState来保存数据。如果禁用ViewState,ToolTip将不会在回发之间保留数据。
答案 2 :(得分:0)
不通过ViewState维护TextBox值。它通过表单数据进行维护。