EnableViewState="false"
和EnableViewState="true"
的含义是什么?
我知道EnableViewState="false"
=关闭ViewState,EnableViewState="true"
=启用ViewState
但EnableViewState="false"
和EnableViewState="true"
之间有什么区别?
我试过这段代码:
<form runat="server">
<asp:TextBox ID="TextBox1" EnableViewState="true" runat="server">
</asp:TextBox><asp:Button ID="Button1" runat="server" Text="Button" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</form>
我真的很困惑。
当我使用EnableViewState="true"
时,我在textbox
中输入了一些值,然后点击了我的按钮。现在值textbox
中的值。我设置EnableViewState="false"
时的过程相同。
那么 EnableViewState="true"
和EnableViewState="false"
会发生什么?
答案 0 :(得分:4)
文本框不使用Viewstate这里是解释所有Link Explain
的链接答案 1 :(得分:0)
通常,您应该在asp.net页面上的所有控件上使用EnableViewState =“false”。当您想要保留控件本身的某些视觉外观时,最常需要控件的视图状态。例如。如果您更改控件的背景颜色,并且希望在回发中保持使用EnableViewState =“true”。
答案 2 :(得分:0)
并非所有控件都受视图状态的影响。如果禁用视图状态,则实现IEventHandler或IDataHandler的控件不会受到页面回发的影响。 Textbox就是这样一个控件。如果要在代码中看到效果。尝试在回发时设置运行时的标签值,如点击按钮并检查结果
答案 3 :(得分:0)
ViewState用于保存服务器端设置的控件的属性。
所以,举一个人为的例子,如果你在Page_Load中做了类似的事情:
if (!IsPostBack)
{
TextBox1.ForeColor = ...;
}
然后,您设置的颜色将在ViewState中的回发中保留(如果已启用)。