与ASP.NET

时间:2017-02-09 06:28:25

标签: c# asp.net viewstate page-lifecycle

我正在阅读有关ASP.NET中的EnableViewState属性的文章。

根据文章中的描述,一旦我们将EnableViewState属性设置为false以用于特定控件,则控件的值将不会在页面请求之间保持不变。

所以我尝试添加以下代码:

 <asp:TextBox runat="server" ID="txtName" EnableViewState="false"></asp:TextBox>
    <asp:Button runat="server" ID="btnSubmit" Text="Submit" />

我在aspx.cs文件中添加了代码,如下所示:

if(!Page.IsPostBack)
  txtName.Text = "Ghanshyam Thakkar";

现在当我运行一个应用程序时,文本框将加载初始值"Ghanshyam Thakkar"现在我点击提交按钮,文本框的值应该丢失,因为我已将EnableViewState属性设置为false。但值仍然存在于文本框中。为什么?我错过任何设置吗?请解释如何强制页面不要在页面请求之间保留文本框值。

谢谢,

1 个答案:

答案 0 :(得分:0)

即使你的ViewState控件已在标记代码中指定TextBox被禁用,也会有一个额外的项目,称为&#34;控制状态&#34;,{ ASP.NET WebForms框架中的{3}}。