Response.Redirect("a.aspx") 在儲存此頁資料後,伺服器將頁面直接導向 a.aspx,缺點是導向後會遺失此頁所有 Request 參數,且此方法需要 Client 發起請求。本文給出解決方法與差異分析。
首先 Response.Redirect("a.aspx"),儲存此頁資料後,伺服器將頁面直接導向 a.aspx。此方法缺點:導向後遺失此頁所有 Request 參數,且需 Client 發起請求。
IIS 5.0 引入新函數 Server.Transfer("a.aspx"),完美解決導向後遺失 Request 參數問題。且因從伺服器端直接向下一頁發起請求,不需 Client 再次發送請求。與 Response.Redirect 差異:Response.Redirect 可導向任何頁面,Server.Transfer 僅能導向同目錄或子目錄網頁;Response.Redirect 導向時網址變成跳轉後頁面網址,Server.Transfer 導向時原網址不變,且傳遞參數值被隱藏。
另一種方法 Server.Execute(a.aspx),功能類似 Server.Transfer。主要差異:server.execute 導向 a.aspx 執行完成後,會返回原頁面繼續處理。