[ASP.NET] Server.Transfer

  • 10304
  • 0

[ASP.NET] Server.Transfer

Server.Transfer 一樣是讓使用者重導至其他網頁,但是它有甚麼特性,以及那些該注意的地方。

對於 Server.Transfer 與 Response.Redirect 有哪些差異,以下列出網路上一些參考

http://www.dotblogs.com.tw/jimmyyu/archive/2009/11/10/11503.aspx

 

1、由於 Server.Transfer  方法是直接在 Web 伺服器上請求,不是要求瀏覽器重新發出一個新的 HTTP 請求,可以減輕伺服器的負荷。

2、若是重導的網頁需要隱藏可以使用這個方法,參考下方圖片。

2010-7-20 上午 12-17-54

當按下 button 重導到其他網頁,網址依然沒變

2010-7-20 上午 12-20-01

 

3、來源網頁與目標網頁必須位於相同 Web 應用程式中,也就是說  Server.Transfer  只適用在導向自己的 Web 站台( 欲重導致外部網站,只能使用 Response.Redirect() )。

首先我們撰寫程式碼導向其他網站


Server.Transfer("http://www.google.com.tw/");

 

 

點下去後,出現錯誤

2010-7-20 上午 12-24-25

 

4、Server.Transfer 可以讓目標網頁讀取來源網頁上的控制項與公用屬性的值,若是你不要保留資訊到目標網頁,請設定參數為 false

http://msdn.microsoft.com/zh-tw/library/ms178139%28VS.80%29.aspx

 

首先我們先看 Default.aspx 頁面配置與程式碼

2010-7-20 上午 01-07-51

2010-7-20 上午 12-53-33

 

在 Default2.aspx 頁面也撰寫程式碼

2010-7-20 上午 12-54-42

 

 

 

效果

2010-7-20 上午 12-56-21

===============================================================================================================================

注意事項

  • 網頁有 ScriptManager 和 UpdatePanel ,使用 Server.Transfer  將會出現錯誤

UpdatePanel 與 Sys.WebForms.PageRequestManagerParserErrorException

  • ASP.NET 的Server.Transfer要小心用

http://www.dotblogs.com.tw/cloudio/archive/2008/08/30/5255.aspx

三小俠  小弟獻醜,歡迎指教