天天看點

【ASP.NET】三種頁面轉向——Server.Transfer,Server.Execute,Response.RedirectServer.TransferServer.ExecuteResponse.Redirect總結

Server.Transfer

Server.Transfer的重定向完全在伺服器端進行,浏覽器根本不知道。它先請求原始頁面(a.aspx),原始頁面(a.aspx)轉到另一個頁面(b.aspx),得到重定向後的頁面

【ASP.NET】三種頁面轉向——Server.Transfer,Server.Execute,Response.RedirectServer.TransferServer.ExecuteResponse.Redirect總結

Server.Execute

Server.Execute的重定向發生在伺服器端。它是請求原始頁面(a.aspx),原始頁面(a.aspx)執行統一Web伺服器上指定的另一個新頁面(b.aspx),當新頁面(b.aspx)執行完畢,傳回原始頁面(a.aspx),得到重定向後的頁面

【ASP.NET】三種頁面轉向——Server.Transfer,Server.Execute,Response.RedirectServer.TransferServer.ExecuteResponse.Redirect總結

Response.Redirect

Response.Redirect的重定向操作發生在用戶端,共設計到兩次與伺服器的通信(兩個來回),第一次是對原始頁面(a.aspx)的請求,得到一個應答;第二次是對應答中的新頁面(b.aspx)的請求,得到重定向後的頁面

【ASP.NET】三種頁面轉向——Server.Transfer,Server.Execute,Response.RedirectServer.TransferServer.ExecuteResponse.Redirect總結

總結

Server.Transfer和Server.Execute方法最靈活,但隻能轉向同一個Application目錄下

Server.Execute方法占用資源最多

Response.Redirect方法效率最高,可重定向到同一台或非同一台伺服器上的aspx或非aspx資源