【发布时间】:2017-02-09 06:28:24
【问题描述】:
我正在阅读有关 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。但是文本框中的值仍然存在。为什么 ?我是否缺少要设置的内容?请解释如何强制页面不在页面请求之间保留文本框值。
谢谢,
【问题讨论】:
-
如果这不起作用,那么您可以在回发后清除文本,也可以尝试 autocomplete="off" 输入控件或表单
-
尝试使用 ViewStateMode="disabled"
标签: c# asp.net viewstate page-lifecycle