17

我通常禁用我的 ASP.net 控件的视图状态,除非我明确知道我将需要它们的视图状态。我发现这可以显着减小生成的 HTML 的页面大小。

这是好习惯吗?什么时候应该启用或禁用?

4

6 回答 6

20

是的,这是一个非常好的主意。有人可能会争辩说,微软应该默认禁用它,就像缓存一样。

要查看 Viewstate 在大小增加方面有多糟糕,您可以使用名为Viewstate Analyzer的工具。当您有一个启用 Viewstate 开发的现有应用程序时,这特别有用。

禁用 Viewstate 的另一个很好的理由是,当您有大量依赖于它的组件时,很难在以后禁用它。

于 2008-09-22T06:57:12.690 回答
6

我认为这是一个很好的做法。许多 ASP.NET 开发人员没有意识到他们的视图状态给发送到用户浏览器的 HTML 添加了巨大的包袱。

于 2008-09-22T06:37:36.433 回答
5

您可能会发现MSDN 上的“ASP.NET 状态管理建议”文章中包含的信息对您做出决定很有帮助。

通常在 ASP.NET 2.0 及更高版本中,禁用 ViewState 的破坏性较小,因为引入了控制状态来存储引发事件等所需的信息。

于 2008-09-22T07:06:23.213 回答
4

这是一个很好的做法。除非您在回发中使用 ViewState 值,或者某些复杂控件本身需要它们,否则最好将 ViewState 保存为将发送给客户端的内容的一部分。

于 2008-09-22T06:38:42.203 回答
2

绝对是个好主意,没有比开发人员每次在 Page_Load 中绑定 dataGrid 的页面还要提交视图状态更糟糕的了!

如果您计划使用 AJAX 扩展中的 UpdatePanel,这也是一个非常好的主意,这意味着您在 UpdatePanel 请求期间提交的内容更少。

(不要因为说 UpdatePanel 很好:P)

于 2008-09-22T07:07:22.353 回答
0

_Viewstate 会不必要地增加需要传输的字节数。因此,除非下次要使用数据,否则最好将其关闭。

于 2008-09-22T06:47:09.670 回答