ASP.NET 有一个东西叫 ViewState,说简单点(不是特别准确),它就是将当前网页输出的元素的值保存在一个 hidden 中, 用户提交网页时,这个值也被一同提交,这时就可比较提交前的值和提交后的值了。
ViewState 可用 EnableViewState、ViewStateMode 设置。
EnableViewState 属性是一个“与”原则,即:在元素树中,从顶部元素通到当前元素的路径中,只要有一个元素的 EnableViewState 为 false,那么当前元素的 EnableViewState 就为 false。
ViewStateMode 属性解决了 EnableViewState 这种“与”尴尬,不过要 .NET Framework 4.0 及以上才有该属性。
只有详细了解 ViewState,才能避免编程中的不易发现的错误。