iT邦幫忙

DAY 5
0

給學弟的ASP.NET網頁學習經驗系列 第 5

ASP.NET學習經驗#5----同學常問:什麼是PostBack?Request?Response?

今天有同學提到這問題,於是以自己知道的解釋一些學校老師總是輕快帶過的東西!

(真的只是輕鬆帶過,導致大家都沒記得多少...)

網頁發出請求(Request)給Web Server,

Web Server處理請求(Request)將資料組合寫入到要呈現的文字內容(Render),

回傳(Response)給使用者的瀏覽器。

使用Request物件可以取得請求的相關資訊,如取得網頁上的QueryString(Request.QueryString["ID"])

使用Response物件可以操作回傳時的資訊,如設置Cookie(Response.Cookies)

什麼是PostBack??

常見的情況就是使用者在網頁上點擊了某個按鈕可能是送出、存檔、下一頁..等等

向伺服器發送請求取得新的更新內容並將網頁原本內容可以被獲得的資料Post上去

這就是一個PostBack的行為!!!

兩種HTTP傳送資訊取得資料結果的Method

  1. Get:當網頁以URL發出請求(Requset)時便會使用GET及QueryString傳遞資訊才取得網頁內容(
    會產生Catch)
  2. Post:使得form內要傳遞的資料值的使用Post(最常見的元件click)向伺服器傳遞,取得新的結果內容(
    不會產生Catch)

元件上的AutoPostBacK屬性正是在設置是否產生Post請求

還有還有

最重要的isPostBack!!!

if(isPostBack)
{
  //do somethings
}

在網頁上用來判別Request是否為Post

講白點就是是剛造訪網頁還是觸發網頁上的內容

針對不同情況時有不同回應或設置

利用它避免所有business logic每次都被全部運行!

好的設計就應該在對的時候做對的事情!!!!

.......To Be Continued


上一篇
ASP.NET學習經驗#4----補充學習:不可不知卻真不知的ViewState
下一篇
ASP.NET學習經驗#6----開啟寶藏(資料庫)的鑰匙(connectionStrings)
系列文
給學弟的ASP.NET網頁學習經驗30
0
mis2000lab
iT邦好手 1 級 ‧ 2014-09-20 22:47:48

我寫書兩三年、講課三年多

才想到幾個好範例(有趣、驚奇)能立即讓學生搞懂 PostBack

這東西.....會不會,就看緣分了

有人馬上會,有人三年還不會 Orz

0
Ben
iT邦新手 3 級 ‧ 2014-09-21 19:19:24

還記得很久以前有玩過上面兩個範例呢!!!!

有些東西憑藉一個感覺來決定會還不會

我要留言

立即登入留言