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