首次加载和回发
這篇博客介紹一個小知識——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,總結
首次加載:第一次進入該頁面;
回發:頁面加載后,通過點擊該頁面中的按鈕或其他操作,再次向服務器端請求數據,更新該頁面內容
注:頁面只能加載一次,之后可以重復回發;
總結
- 上一篇: ASP.NET中防止页面多次加载的IsP
- 下一篇: 解决浏览器缓存问题