完全禁用ASP.NET Web窗体中的ViewState

时间:2012-03-06 21:16:28

标签: c# viewstate webforms

在ASP.NET 4 Web窗体Web应用程序中,我想完全禁用ViewState控件的TextBox。我在互联网上搜索但找不到解决问题的答案。

到目前为止,我已尝试像这样设置Page指令:

EnableEventValidation="false" ViewStateMode="Disabled" EnableViewState="false"

我还设置了TextBox这样的控件:

ViewStateMode="Disabled" EnableViewState="false"

通常这两个设置应足以禁用ViewState,但事实并非如此。

然后,我在页面的代码隐藏文件中写了以下内容:

protected override void SavePageStateToPersistenceMedium(object state) { }

protected override object LoadPageStateFromPersistenceMedium()
{
    return null;
}

这导致HTML中的ViewState值为null,但是当我按下提交按钮时,浏览器仍会记住TextBox中的值。

如何禁用此功能?

1 个答案:

答案 0 :(得分:4)

您误解了ViewState的使用方式。

有关完整说明,请参阅this article。引用:

  

ViewState不对值的总体负责   通过TextBox控件发布(虽然它确实发挥了重要作用   角色)