asp.net中Response.Redirect與Server.Transfer的區(qū)別分析
更新時間:2010年10月20日 19:40:14 作者:
一般來說如果需要在兩個頁面間共享數(shù)據(jù),而且數(shù)據(jù)量比較大的時候,用transfer會比較合適,在第二個頁面中可以直接使用前一頁面的數(shù)據(jù)。
Server.Transfer方法把執(zhí)行流程從當(dāng)前的ASPX文件轉(zhuǎn)到同一服務(wù)器上的另一個ASPX頁面。調(diào)用Server.Transfer時,當(dāng)前的ASPX頁面終止執(zhí)行,執(zhí)行流程轉(zhuǎn)入另一個ASPX頁面,但新的ASPX頁面仍使用前一ASPX頁面創(chuàng)建的應(yīng)答流。
如果用Server.Transfer方法實現(xiàn)頁面之間的導(dǎo)航,瀏覽器中的URL不會改變,因為重定向完全在服務(wù)器端進(jìn)行,瀏覽器根本不知道服務(wù)器已經(jīng)執(zhí)行了一次頁面變換。
Response.Redirect則是客戶端第一次請求服務(wù)器返回狀態(tài)代碼302及新URL,客戶端再次請求新URL,服務(wù)器再返回新頁面,比Server.Transfer多一次應(yīng)答。
一般來說如果需要在兩個頁面間共享數(shù)據(jù),而且數(shù)據(jù)量比較大的時候,用transfer會比較合適,在第二個頁面中可以直接使用前一頁面的數(shù)據(jù),
eg:
TransferToPage.aspx
if(Context.Handler is TransferFromPage)
{
TransferFromPage post=(TransferFromPage)Context.Handler;
startWeekID=Int32.Parse(post.DdlStartWeek.SelectedValue);
endWeekID=Int32.Parse(post.DdlEndWeek.SelectedValue);
}
直接引用前一頁面控件的值。
Redirect可以傳遞一些較小字符串值。
Response.Redirect( "b.aspx?id=0&name=Jeff ");
如果用Server.Transfer方法實現(xiàn)頁面之間的導(dǎo)航,瀏覽器中的URL不會改變,因為重定向完全在服務(wù)器端進(jìn)行,瀏覽器根本不知道服務(wù)器已經(jīng)執(zhí)行了一次頁面變換。
Response.Redirect則是客戶端第一次請求服務(wù)器返回狀態(tài)代碼302及新URL,客戶端再次請求新URL,服務(wù)器再返回新頁面,比Server.Transfer多一次應(yīng)答。
一般來說如果需要在兩個頁面間共享數(shù)據(jù),而且數(shù)據(jù)量比較大的時候,用transfer會比較合適,在第二個頁面中可以直接使用前一頁面的數(shù)據(jù),
eg:
TransferToPage.aspx
復(fù)制代碼 代碼如下:
if(Context.Handler is TransferFromPage)
{
TransferFromPage post=(TransferFromPage)Context.Handler;
startWeekID=Int32.Parse(post.DdlStartWeek.SelectedValue);
endWeekID=Int32.Parse(post.DdlEndWeek.SelectedValue);
}
直接引用前一頁面控件的值。
Redirect可以傳遞一些較小字符串值。
Response.Redirect( "b.aspx?id=0&name=Jeff ");
您可能感興趣的文章:
- asp.net下Response.ContentType類型匯總
- asp.net 頁面轉(zhuǎn)向 Response.Redirect, Server.Transfer, Server.Execute的區(qū)別
- asp.net 使用Response.Filter 過濾非法詞匯
- ASP.NET筆記之 Request 、Response 與Server的使用
- ASP.NET之Response.Cookies.Remove 無法刪除COOKIE的原因
- asp.net直接Response輸出WML頁面示例代碼
- asp.net中WebResponse 跨域訪問實例代碼
- Asp.net response對象與request對象使用介紹
- Asp.net中Response.Charset與Response.ContentEncoding區(qū)別示例分析
- asp.net內(nèi)置對象 Response對象使用介紹
相關(guān)文章
visual studio 2019使用net core3.0創(chuàng)建winform無法使用窗體設(shè)計器
這篇文章主要介紹了visual studio 2019使用net core3.0創(chuàng)建winform無法使用窗體設(shè)計器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03.NET Core跨平臺串口通訊使用SerialPortStream基礎(chǔ)類庫問題解決
這篇文章介紹了.NET Core跨平臺串口通訊使用SerialPortStream基礎(chǔ)類庫問題解決,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01ASP.NET動態(tài)增加HTML元素的方法實例小結(jié)
這篇文章主要介紹了ASP.NET動態(tài)增加HTML元素的方法,結(jié)合實例形式總結(jié)分析了asp.net針對樣式、Meta、js等元素動態(tài)增加相關(guān)操作技巧,需要的朋友可以參考下2017-01-01C#默認(rèn)以管理員身份運(yùn)行程序?qū)崿F(xiàn)代碼
權(quán)限不夠,導(dǎo)致無法修改系統(tǒng)時間,于是我以管理員身份運(yùn)行了一次,結(jié)果測試成功,下面為大家介紹下C#如何默認(rèn)以管理員身份運(yùn)行程序2014-03-03asp.net的web頁面(aspx)數(shù)據(jù)量過多時提交失敗對策
asp.net的web頁面,數(shù)據(jù)量過多時提交失敗的情況想必有很多朋友都有遇到過吧,下面與大家分享下詳細(xì)的解決方法2013-05-05.Net?Core基于ImageSharp實現(xiàn)圖片縮放與裁剪
這篇文章介紹了.Net?Core基于ImageSharp實現(xiàn)圖片縮放與裁剪的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06