IsPostBack的由来与原理
为什么要使用这个属性来这样判断呢?
因为在早期的WEB应用开发中,采用的数据传输大部分来自form表单的提交,提交的地址往往可能是就是当前加载的页面的URL,这样就会出现重复操作的问题,试想一下浏览器请求页面就是一次对页面的处理,那么再将数据提交至该页面那么又是一次提交,有了这个属性就可以判断是否是页面加载(第一次加载)还是数据提交(数据回传),方便了程序的开发
其实现原理是根据__VIEWSTATE隐藏域进行判断的,如果是POST请求那么该隐藏域的值会提交到服务端,那么IsPostBack属性也就为true,如果将form标签的runat="server"去掉,那么就不能用该属性进行判断是POST请求还是GET请求。因为去掉form标签的runat="server",那么就不会再产生 __VIEWSTATE隐藏域了