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