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