我通常禁用我的 ASP.net 控件的视图状态,除非我明确知道我将需要它们的视图状态。我发现这可以显着减小生成的 HTML 的页面大小。
这是好习惯吗?什么时候应该启用或禁用?
我通常禁用我的 ASP.net 控件的视图状态,除非我明确知道我将需要它们的视图状态。我发现这可以显着减小生成的 HTML 的页面大小。
这是好习惯吗?什么时候应该启用或禁用?
是的,这是一个非常好的主意。有人可能会争辩说,微软应该默认禁用它,就像缓存一样。
要查看 Viewstate 在大小增加方面有多糟糕,您可以使用名为Viewstate Analyzer的工具。当您有一个启用 Viewstate 开发的现有应用程序时,这特别有用。
禁用 Viewstate 的另一个很好的理由是,当您有大量依赖于它的组件时,很难在以后禁用它。
我认为这是一个很好的做法。许多 ASP.NET 开发人员没有意识到他们的视图状态给发送到用户浏览器的 HTML 添加了巨大的包袱。
您可能会发现MSDN 上的“ASP.NET 状态管理建议”文章中包含的信息对您做出决定很有帮助。
通常在 ASP.NET 2.0 及更高版本中,禁用 ViewState 的破坏性较小,因为引入了控制状态来存储引发事件等所需的信息。
这是一个很好的做法。除非您在回发中使用 ViewState 值,或者某些复杂控件本身需要它们,否则最好将 ViewState 保存为将发送给客户端的内容的一部分。
绝对是个好主意,没有比开发人员每次在 Page_Load 中绑定 dataGrid 的页面还要提交视图状态更糟糕的了!
如果您计划使用 AJAX 扩展中的 UpdatePanel,这也是一个非常好的主意,这意味着您在 UpdatePanel 请求期间提交的内容更少。
(不要因为说 UpdatePanel 很好:P)
_Viewstate 会不必要地增加需要传输的字节数。因此,除非下次要使用数据,否则最好将其关闭。