Server.Transfer(ASP 3.0 以上) 和 Response.Redirect 在以前的 ASP 中就存在了,Page.Navigate 是 ASP.NET Beta 1 提供的新功能,它們之間的區(qū)別在于:
1、Server.Transfer - 用于把處理的控制權(quán)從一個(gè)頁(yè)面轉(zhuǎn)移到另一個(gè)頁(yè)面,在轉(zhuǎn)移的過程中,沒有離開服務(wù)器,內(nèi)部控件(如:request, session 等)的保存的信息不變,因此,你能從頁(yè)面 A 跳到頁(yè)面 B 而不會(huì)丟失頁(yè)面 A 中收集的用戶提交信息。此外,在轉(zhuǎn)移的過程中,瀏覽器的 URL 欄不變。
2、Response.Redirect - 發(fā)送一個(gè) HTTP 響應(yīng)到客戶端,告訴客戶端跳轉(zhuǎn)到一個(gè)新的頁(yè)面,客戶端再發(fā)送跳轉(zhuǎn)請(qǐng)求到服務(wù)器。使用此方法時(shí),將無法保存所有的內(nèi)部控件數(shù)據(jù),頁(yè)面 A 跳轉(zhuǎn)到頁(yè)面 B,頁(yè)面 B 將無法訪問頁(yè)面 A 中 Form 提交的數(shù)據(jù)。
3、Page.Navigate - Page.Navigate 實(shí)現(xiàn)的功能和 Response.Redirect 差不多,它實(shí)際上包括三個(gè)步驟:首先調(diào)用 Response.Redirect,其次依次卸載所有的控件,最后調(diào)用 Response.End。
<b>特別要注意的是:</b>在 .NET Beta 2 中,Microsoft 將不再包括 Page.Navigate 這個(gè)功能,大家應(yīng)該現(xiàn)在就用 Response.Redirect 來代替 Page.Navigate,以節(jié)省將來升級(jí)
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!