看板 C_Sharp 關於我們 聯絡資訊
以前只知道Server.Transfer不會讓瀏覽器的url改變, 今天coding到一半發現一個Server.Transfer造成的問題, 就查了一下. 發現一個文章有介紹它和常用的Response.Redirect的差別. * * * * 把內容摘錄一下: (RR = Response.Redirect, ST = Server.Transfer) RR就僅是送一個訊息給瀏覽器, 要瀏覽器移動到另外一頁. ST的功用一樣, 但是有這些優缺點. 首先, ST較為節省server的資源. 因為ST並不是要求瀏覽器重新導向到另一個網 頁, 而是改變server上的"focus"到另一個網頁. 這表示client不會重新送一個 HTTP requset給server. 另外, ST維持了瀏覽器上的url, 這能夠讓資料輸入更為流暢, 雖然在debug時可 能會造成一些困擾. 如此之外, ST有另一個參數, preserveForm. 如果設為true, 原始這頁的query string以及form中的所有變數在轉移到另一頁時仍然可以使用. 然而, ASP.NET 有1個bug, 有時傳送query string或變數時會造成錯誤. 可以參考: http://support.microsoft.com/default.aspx?id=kb;en-us;Q316920 此外, ST只適用於同一個server上的網站; RR則適用於所有的url. * * * * 原文: http://www.developer.com/net/asp/article.php/3299641 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.68.184.96
liunate:好文 ! 11/13 21:35
Eric30:Nice :) 11/13 22:36