何时启用/禁用Viewstate

17

通常情况下,我会禁用ASP.net控件的ViewState,除非我明确知道它们需要ViewState。我发现这可以显著减小生成的HTML页面大小。

这样做是否是好习惯?应该在什么情况下启用或禁用ViewState?

6个回答

20

是的,这是一个非常好的想法。有人可能会认为它应该像缓存一样被微软禁用。

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

禁用Viewstate的另一个很好的原因是,在您有许多依赖它的组件时,稍后禁用它真的很困难。


6

我认为这是一个很好的实践。许多ASP.NET开发人员不知道他们的视图状态给发送到用户浏览器的HTML带来了巨大的负担。


5
你可能会发现MSDN上"ASP.NET状态管理建议"文章中包含的信息对做出决策有用。
一般来说,在ASP.NET 2.0及以上版本中禁用ViewState由于引入了控件状态来存储触发事件所需的信息,因此破坏性较小。

4

这是一个好的实践方法。除非在页面回传时需要使用ViewState值,或者某些复杂控件本身需要它们,否则将其保存为将发送到客户端的部分是个好主意。


2

绝对是个好主意,没有什么比在每次Page_Load中绑定dataGrid并提交视图状态的页面更糟糕的了!

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

(不要因为说UpdatePanel可能是好的而抨击我 :P)


0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接