2

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"

4

4 回答 4

4

Texbox 不使用 Viewstate 这里是解释所有链接解释的链接

于 2013-04-17T15:54:16.763 回答
0

ViewState 用于保存在服务器端设置的控件的属性。

因此,举一个人为的例子,如果您在 Page_Load 中执行以下操作:

if (!IsPostBack)
{
    TextBox1.ForeColor = ...;
}

那么您设置的颜色将在 ViewState 中的回发中保留(如果已启用)。

于 2013-11-05T06:30:23.137 回答
0

通常,您应该在 asp.net 页面上的所有控件上使用 EnableViewState="false"。当您想要保留控件本身的某些视觉外观时,通常需要控件的视图状态。例如,如果您更改控件的背景颜色并且希望在回发中保持该颜色,请使用 EnableViewState="true"。

于 2013-04-17T18:43:25.297 回答
0

并非所有控件都受视图状态的影响。如果视图状态被禁用,实现 IEventHandler 或 IDataHandler 的控件在页面回发时不会受到影响。文本框就是这样一种控件。如果你想在你的代码中看到效果。尝试在运行时在回发时设置标签值,例如单击按钮并检查结果

于 2013-11-05T06:07:34.113 回答