頁面重新導向的方法通常有如下三種:
1.Response.Redirect("Url");
2.Server.Transfer("URL");
3.Server.Excute("URL")
與最常見的Response.Redirct("URL")相比Server.Transfer("URL")有三個優點一
優點:
一、它在伺服器端直接重新導向,不用像response.Redirect一樣先與瀏覽器通訊再重新導向,效率高。
二、它可以傳遞上一個頁面的提交值。比如:A頁面提交值到B頁面,B頁面Transfer到C頁面,C頁面同樣可以收到A頁面提交的值。
三、可以隱藏url。
缺點:(2005-1-10修改)
不能重新整理頁面,比如:A頁面提交登入資訊到B頁面,B頁面處理後Transfer再到A,A頁面得不到重新整理,指定了到期也不行。如果A、B頁面不在同一個目錄下,我們還會發現更多意想不到的結果,使用相對連結的圖片、超連結的指向都改變了,造成這種原因是B頁面讀取A頁面內容卻以B頁面的身份輸出,所以路徑改變了。
在asp.net中有四種頁面跳轉導航方式,該如何為你的頁面選擇一個呢?
·如果要讓使用者來決定何時轉換頁面以及轉到哪一個頁面,超級連結最適合。
·如果要用程式來控制轉換的目標,但轉換的時機由使用者決定,使用Web伺服器的HyperLink控制項,動態設定其NavigateUrl屬性。
·如果要把使用者串連到另一台伺服器上的資源,使用Response.Redirect。
·用Response.Redirect把使用者串連到非ASPX的資源,例如HTML頁面。
·如果要將查詢字串作為URL的一部分保留,使用Response.Redirect。
·如果要將執行流程轉入同一Web伺服器的另一個ASPX頁面,應當使用Server.Transfer而不是Response.Redirect,因為Server.Transfer能夠避免不必要的網路通訊,從而獲得更好的效能和瀏覽效果。
轉載自:http://www.fengfly.com/plus/view-80980-1.html