.NET Framework 4.0 及更新的版本有了新的解决方案,请参见 .NET Framework 4.0-EnableViewState 更方便地设置 ViewState。
EnableViewState 并不是说谁在外层,谁就可以把里层元素的 EnableViewState 值覆盖;也不存在说谁在里层,谁就可以把外层元素的 EnableViewState 值覆盖。
内外层元素(包括 Page 的,包括 MasterPage 的),从外到内,只要有一个 EnableViewState 为 false,那么结果的 EnableViewState 就为 false。
如上,只有 t1 的 ViewState 是起了作用了的,虽然其他的 EnableViewState 属性值也是 true,但按照前面的规则,最终其 ViewState 是不起作用的。
EnableViewState 默认值为 true。