程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net中Response.Redirect與Server.Transfer的區別分析

asp.net中Response.Redirect與Server.Transfer的區別分析

編輯:ASP.NET基礎
Server.Transfer方法把執行流程從當前的ASPX文件轉到同一服務器上的另一個ASPX頁面。調用Server.Transfer時,當前的ASPX頁面終止執行,執行流程轉入另一個ASPX頁面,但新的ASPX頁面仍使用前一ASPX頁面創建的應答流。
如果用Server.Transfer方法實現頁面之間的導航,浏覽器中的URL不會改變,因為重定向完全在服務器端進行,浏覽器根本不知道服務器已經執行了一次頁面變換。
Response.Redirect則是客戶端第一次請求服務器返回狀態代碼302及新URL,客戶端再次請求新URL,服務器再返回新頁面,比Server.Transfer多一次應答。


一般來說如果需要在兩個頁面間共享數據,而且數據量比較大的時候,用transfer會比較合適,在第二個頁面中可以直接使用前一頁面的數據,

eg:
TransferToPage.aspx
復制代碼 代碼如下:
if(Context.Handler is TransferFromPage)
{
TransferFromPage post=(TransferFromPage)Context.Handler;
startWeekID=Int32.Parse(post.DdlStartWeek.SelectedValue);
endWeekID=Int32.Parse(post.DdlEndWeek.SelectedValue);
}

直接引用前一頁面控件的值。
Redirect可以傳遞一些較小字符串值。
Response.Redirect( "b.aspx?id=0&name=Jeff ");
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved