我了解使用View状态。任何谈论视图状态的材料都解释了它的需求和使用。但是,每个控制级别/页面级别都提供了一个选项来禁用它。需要禁用Viewstate
在什么情况下我们可能想要禁用页面或控件的视图状态?
从网上资料,我读了,
如果页面没有任何动态数据,数据要往返,我们可以禁用ViewState中之间持续 。
我同意这种说法,但是这样做的优点是什么?我们从中得到什么?
我了解使用View状态。任何谈论视图状态的材料都解释了它的需求和使用。但是,每个控制级别/页面级别都提供了一个选项来禁用它。需要禁用Viewstate
在什么情况下我们可能想要禁用页面或控件的视图状态?
从网上资料,我读了,
如果页面没有任何动态数据,数据要往返,我们可以禁用ViewState中之间持续 。
我同意这种说法,但是这样做的优点是什么?我们从中得到什么?
一些页面有很大的视图状态。因此,它需要时间来回发送,服务器上的负载更多,网络流量更多等。不需要太多时间,所以通过缩小视图状态,您的应用程序将更快。
采取注有时甚至完全禁用ViewState中会产生还是因为控制需求的一小所需的视图状态,但它可以大大降低。我已经看到viewstates每页进入200kb。
由于页面必须呈现ViewState中的客户端可以加快加载时间,如果的ViewState被禁用。
大约在净引入记得的故障排除这是加载缓慢的页面时,页面被渲染相当大电网所有这些都被保存到ViewState中。从ViewState中删除数据产生了很大的不同。
实际上,只需禁用ViewState加密即可提高性能,但这不是一个好的安全措施。
ViewState呈现为网页中的隐藏输入字段。这会使页面加载速度更慢,并且使后贴缓慢,因为ViewState必须与其他所有内容一起发布。
因此,如果禁用ViewState,您的页面将执行得更快。快多少?很难说。
一般来说,如果您不需要ViewState,请将其禁用。
还要注意,即使禁用ViewState中,仍然会有一个隐藏的控制与数据量小是neccessary为.NET。
当我显示信息或错误信息给用户作为ASP:标签或ASP:文字控制,我几乎总是设置的EnableViewState为false,因为他们几乎总是只适用于一个给定的后背部。将EnableViewState设置为false意味着我永远不必在我的代码隐藏中编写此代码:
lblSomethingWentWrong.Text = string.Empty;