ASP.NET中的IsPostBack作用

在使用ASP.NET做WEB开发的时候,经常会看看到Page.IsPostBack这样的调用,刚开始我对他的理解也是一知半解,上学那会也是没有太多关注他的含义,只是知道在页面加载回调函数中写上这样的一段代码,今天有时间来深究一下他的含义

jesen
1
2020-03-16 22:10:47
文档目录
我的书签
 

IsPostBack的由来与原理

为什么要使用这个属性来这样判断呢?

因为在早期的WEB应用开发中,采用的数据传输大部分来自form表单的提交,提交的地址往往可能是就是当前加载的页面的URL,这样就会出现重复操作的问题,试想一下浏览器请求页面就是一次对页面的处理,那么再将数据提交至该页面那么又是一次提交,有了这个属性就可以判断是否是页面加载(第一次加载)还是数据提交(数据回传),方便了程序的开发

其实现原理是根据__VIEWSTATE隐藏域进行判断的,如果是POST请求那么该隐藏域的值会提交到服务端,那么IsPostBack属性也就为true,如果将form标签的runat="server"去掉,那么就不能用该属性进行判断是POST请求还是GET请求。因为去掉form标签的runat="server",那么就不会再产生 __VIEWSTATE隐藏域了
 
友情提示