在實現頁面跳轉的時候,有些人喜歡用Response.Redirect,而有些人則喜歡用Server.Transfer。大部分時間似乎這兩種方法都可以實現相同的功能,那究竟有區別嗎?
查了些文檔,發現兩者區別還是很明顯的。根本上,Response是叫瀏覽器去重新轉向到指定的網頁,而Server自然是發生在服務器端為主了,因此會有以下區別:
1. Server.Transfer只能夠轉跳到本地虛擬目錄指定的頁面,而Response.Redirect則十分靈活;
2. Server.Transfer可以將頁面參數方便傳遞到指定頁面;
3. 使用時,Server.Transfer跳到別的頁面后,瀏覽器顯示的地址不會改變,有時反而會造成誤會,當然也有些場合需要這樣的效果;
4. Server.Transfer可以減少客戶端對服務器的請求;