IsPostBack:获取一个bool值,该值指示页是第一次呈现还是为了响应回发而加载。
只有在浏览器中第一次打开一个URL时IsPostBack的值为False,其他的时候IsPostBack的值都是True。
在web窗体的Page_Load事件中经常会使用到IsPostBack,例如
有程序的界面如下(两个TextBox的Text属性都为非空的):
在Page_Load事件处设置断点
当我们运行程序时页面第一次加载,页面加载完毕看到textUserName和textPwd处的显示是空的(效果如下图)
从断点调试中发现if()程序块是完整被执行的,这说明Page.IsPostBack的值为False,说明这次页面的加载不是为了响应回发。
当在textBox中填入用户名“a”和密码“a”单击提交,在页面发现两个TextBox并没有被清空,保留了输入的用户名和密码(效果如下图)
从断点调试中发现if()程序块是没有被执行的,这说明Page.IsPostBack的值为True,说明这次页面的加载是为了响应回发。
因为“提交”的runat=”server”,所以当单击后就会想服务端发出请求,服务端经过处理之后会重新发回给客户端一个HTML,这时浏览器就会刷新页面,而在这时加载的页面就是回发页面,IsPostBack的值就为True。
对IsPostBack的初步认识,日后还有待更加全面的体会!