asp.net页面里_VIEWSTATEGENERATOR、EVENTVALIDATION是做什么用的解决方法

asp.net页面里__VIEWSTATEGENERATOR、__EVENTVALIDATION是做什么用的
服务器返送给浏览器的页面里,有这两个隐藏域,还有对应的数值。感觉,既然呈现给我们,似乎就有用,但不知道有什么用?
------解决思路----------------------
如果你学习 asp.net 控件开发技术,就会了解这个其实是核心技术。

asp.net 要给程序员提供一个类似 winform 的自动保持所有控件(包括内部子控件)的成千上万状态的机制,不需要程序员自己来开发(例如自己再胡乱写什么隐藏域来保存和提交)状态维系机制。当页面提交(回发)时,例如GridView上的所有数据行、每一行内的所有自定义模板中的子控件等等,你会看到状态都自动重新填好了(哪怕你修改了GridView中某一行的模板中的一个Label的ForeColor属性),这就是靠着网页的ViewState保存着所有控件的状态值。而当用户在浏览器端点击一些操作,例如点击GridView中的“编辑”按钮,页面并不仅仅触发这个Button_Click事件,还要触发Grid的一个Edit事件,等等这类事件,也需要从客户端传给服务器端。

因此 PostData + Event 这两种机制和相关的数据,构成了 asp.net webform 的核心技术。而传统的 web 服务器上有数百个网站,所以asp.net 设计者不用 web 服务器来保存这些数据,而是在页面 html 文本中“夹带”这些信息,随着html的输出而输出,随着 <form /> 的提交而带回,把浏览器端页面当作这些数据的一个存储载体。