这篇博客介绍一个小知识——PostBack。之所以介绍这个小知识,因为发现好多同学BS也学习了很久了,但是还不明白什么是PostBack,或是经常将回发和第一次加载弄混。
PostBack:回发
IsPostBack:判断是否为回发的属性
if(!IsPostBack)//如果是第一次加载
{
Response.Write("第一次加载页面");
}
Else
{
Response.Write("回发后页面");
}
1,什么是第一次加载?
很容易理解,第一次加载就是第一次进入该页面;
当前页面:查询考试;点击某考试信息后的“编辑”按钮
跳转到“修改考试”页面:该页面第一次加载
通过其他页面的某个链接将跳转到该页面时,客户端向服务器端提交请求数据,服务器端处理请求后将处理结果返回给客户端,显示在该页面——这就是第一次加载
(注:一个页面只能加载一次,但加载后可以反复PostBack(回发))
我们打开一个网页,网页上呈现出我们想要的内容,这些内容是怎么来的?——是我们在浏览器上进行操作时,浏览器想服务器端发送了http请求,而服务器接收了请求后,进行处理,然后返回给浏览器的;从我们打开该网页时,我们就已向服务器端发送了请求;
如果我们不对页面进行任何操作的话,那么该页面的内容是不会改变的(不要跟我说,网页上有时间更新,这里先不要钻牛角尖);只有当我们点击了页面上的某个按钮或做了其他操作后,页面内容才会有所改变,这是因为我们又一次向服务器端提交了请求,而服务器处理后将结果反馈给我们;
2,那么,什么是回发?
该页面加载后,我们通过点击该页面上的某按钮或其他控件时,向服务器再次发出请求,更新该页面数据——这就是回发;
还是上面那个页面:“修改考试”页面
修改“考试名称”为:智能化建筑上机考试(下):
点击“取消”按钮:(这里“取消”按钮的作用是:重置,即 将修改的数据还原为原数据),如下图:
3,调试例子
通过一个调试例子,来真正了解首次加载和回发。
还是以上两个页面;
(1)在“查询考试”页面点击“编辑”按钮,跳转到“修改考试”页面——即,首次加载“修改考试页面”;
如果在“位置1”设置断点,调试,那么第一次加载该页面的时候,程序运行位置1和位置2之间的内容,然后跳出,不会执行else中的内容;
(2)进入“修改考试”页面,点击“取消”按钮;
仅在“取消”按钮btnCancel_Click处设置断点,调试,那么程序执行完其内的代码后,直接跳到位置3,运行位置3和位置4之间的内容,然后跳出。
4,总结
首次加载:第一次进入该页面;
回发:页面加载后,通过点击该页面中的按钮或其他操作,再次向服务器端请求数据,更新该页面内容
注:页面只能加载一次,之后可以重复回发;