在 ASP.NET 4.0 中禁用视图状态变得简单一些了

  • Jon Arild Tørresdal
  • 赵劼

2009 年 2 月 2 日

话题:.NETWeb框架语言 & 开发架构

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

Dave Reed

在 2006 年 8 月写的这篇博客《

真正理解视图状态

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

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

总的来说,这允许您:

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

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

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

Scott 在 PDC 上关于 ASP.NET 路线图的

完整谈话

包含了有关 ASP.NET 4.0 将带来的改变的更多信息。

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

.NETWeb框架语言 & 开发架构