技术开发 频道

ASP.NET 4.0禁用视图状态变得容易

【IT168技术资讯】
  ASP.NET 4.0提供了一个新的机制来启用/禁用视图状态,这比以前要容易控制的多。到目前为止,在默认情况下都会开启视图状态,ASP.NET控件使用它来保存状态。这个行为有时候会导致客户端和服务器之间产生大量的数据传输。

  Dave Reed在2006年8月写的这篇博客《真正理解视图状态》完整而详细地讲解了ASP.NET视图状态,建议所有ASP.NET平台开发人员都要读一下这篇文章。Dave指出,“视图状态是一个非常容易被搞错的东西”,使用起来要非常小心。不理解视图状态运行机制的开发人员有时候会惊讶于客户端浏览器得到的HTML。如果你不关心视图状态的使用,那么返回给用户的页面尺寸将会非常巨大,这很可能导致网站性能降低。

  在PDC2008上,ASP.NET的程序经理Scott Hunter谈论了ASP.NET 4.0的路线图。在谈话中他解释了4.0中视图状态的改变:

  我们打算提供这个功能,它被我们称为视图状态的小粒度控制。与之前打开页面级别的视图状态,然后在各种地方将其关闭的做法相比,您可以在页面级别上将其关闭,而在您需要的控件上将其打开。所以这种做法就更容易做到:这个页面不需要视图状态,但是其中这三个控件是需要的。

  总的来说,这允许您:

  在页面上禁用,在特定控件上启用。

  在控件上禁用,在子控件上启用。

  同时,GridView和ListView被许诺将会在禁用视图状态的情况下工作地更好。

  PDC2008同样记录了Scott在getpixel8ed.com所进行的采访中被问及视图状态在默认情况下是否会被禁用的问题:

  这点还无法确定。在默认情况下我想这么做。可能在构建4.0应用程序时默认关闭,但是如果您明显是在开发3.5或2.0的应用程序,就会得到和原来一致的行为。

  Scott在PDC上关于ASP.NET路线图的完整谈话包含了有关ASP.NET 4.0将带来的改变的更多信息。

  查看英文原文:Disabling View-State Made Simpler in ASP.NET 4.0

0
相关文章