Server.Transfer():用于把處理的控制權從一個頁面轉移到另一個頁面,在轉移到過程中,沒有離開服務器,內部控件(如:request,session等)保存的信息不變,因此,你能從頁面A跳轉到頁面B而不會丟失頁面A中收集的用戶提交信息,但瀏覽器顯示的地址不會改變,有時會造成誤會。
Response.Redirect():發送一個HTTP響應到客戶端,告訴客戶端跳轉到一個新的頁面,客戶端再發送跳轉請求到服務器。使用此方法,將無法保存原頁面所有內部控件數據。
Response.Redirect():發送一個HTTP響應到客戶端,告訴客戶端跳轉到一個新的頁面,客戶端再發送跳轉請求到服務器。使用此方法,將無法保存原頁面所有內部控件數據。
總結:Server.Transfer()可以減少客戶端對服務器的請求,但跳轉 到新頁面后,瀏覽器顯示的URL地址不會改變,會造成誤會。
Response.Redirect()使用靈活,但需要通過客戶端訪問服務器。
建議:跳轉到自身頁面時,使用Server.Transfer();
跳轉到新的頁面時,使用Response.Redirect();
Response.Redirect()使用靈活,但需要通過客戶端訪問服務器。
建議:跳轉到自身頁面時,使用Server.Transfer();
跳轉到新的頁面時,使用Response.Redirect();