亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net 頁面轉向 Response.Redirect, Server.Transfer, Server.Execute的區別

2024-07-10 13:19:02
字體:
來源:轉載
供稿:網友
Response.Redirect 簡單地發送一條消息到瀏覽器,告訴瀏覽器定位到另一個頁面。你可以使用下面的代碼將用戶引導到另一個頁面:
Response.Redirect("WebForm2.aspx")
或者
Response.Redirect("http://www.cnnas.com/")
Server.Transfer 也是通過一條語句將用戶引導到另一頁面,比如:Server.Transfer("WebForm2.aspx")。不過,這條語句有一系列獨特的優缺點。
首先,通過 Server.Transfer 引導到另一頁面保留服務器資源,通過更改服務器端“焦點”和傳輸請求來代替告訴瀏覽器重定向,這就意味著你不會占用較多的 HTTP 請求,因此這可以減輕服務器的壓力,使你的服務器運行更快。
不過,請注意,由于 "transfer" 只能在同一服務器端的同一站點間運行,所以你不能用 Server.Transfer 將用戶重定向到另一服務器上的站點。要重定向到服務器以外的站點,只有 Response.Redirect 能辦到。
其次,Server.Transfer 保留瀏覽器端的 URL 地址。這對流線型的數據輸入很有幫助,不過這也增加了調試的復雜度。
還有:Server.Transfer 方法還有另一個參數——"preserveForm"。如果你設置這個參數為 True,比如:Server.Transfer("WebForm2.aspx", True), 那么 query string 和任何 form 變量都會同時傳遞到你定位的頁面。
例:WebForm1.aspx 有一個文本框名為 TextBox1,你利用 preserveForm 為 True 傳遞到 WebForm2.aspx,你仍然可以用 Request.Form("TextBox1") 來取得文本框的值。
這種技術對向導式的多頁面輸入很有用,不過這里有一個你必須注意的問題是,當你使用 preserveForm 參數時,ASP.NET 有一個 bug,通常情況下,當試圖傳遞 form 或 query string 值時會發生錯誤。請參見:?id=kb;en-us;Q316920
非官方的解決辦法是在你要傳遞的目的頁面中設置 enableViewStateMac 屬性為 True,然后再將其設置回 False。這說明你需要使用 enableViewStateMac 的 False 值才能解決這個問題。
總結:Response.Redirect 簡單地告訴瀏覽器訪問另一個頁面。Server.Transfer 有利于減少服務器請求,保持地址欄 URL 不變,允許你將 query string 和 form 變量傳遞到另一個頁面(有一點小小的缺陷)。
重要提示:不要混淆了 Server.Transfer 和 Server.Execute,Server.Execute 執行一個頁面,并返回結果,在過去 Server.Execute 很有用,不過在 ASP.NET 里,它被 fresher 方法所代替,所以忽略 Server.Execute。

使用HttpContext.RewritePath來配合Server.Transfer/Execute

我想由不少人都懂得在Applicaton_Start等事件中使用HttpContext.RewritePath來改變HttpHandler。

如果在Server.Transfer/Execute的調用前,使用RewritePath,更可以起到指定QueryString的效果。

例如

Context.RewritePath("AA.Aspx","","OKOK=3333");
Context.Server.Transfer("Test2.Aspx");

這樣,就能執行Test2.Aspx,并且QueryString是OKOK=3333。

這個用途特別大。我目前用這個方法來避免使用Response.Redirect。

Server.Transfer,Response.Redirect的區別

  Server.Transfer(ASP 3.0 以上) 和 Response.Redirect 在以前的 ASP 中就存在了,Page.Navigate 是 ASP.NET Beta 1 提供的新功能,它們之間的區別在于:

  1、Server.Transfer - 用于把處理的控制權從一個頁面轉移到另一個頁面,在轉移的過程中,沒有離開服務器,內部控件(如:request, session 等)的保存的信息不變,因此,你能從頁面 A 跳到頁面 B 而不會丟失頁面 A 中收集的用戶提交信息。此外,在轉移的過程中,瀏覽器的 URL 欄不變。

  2、Response.Redirect - 發送一個 HTTP 響應到客戶端,告訴客戶端跳轉到一個新的頁面,客戶端再發送跳轉請求到服務器。使用此方法時,將無法保存所有的內部控件數據,頁面 A 跳轉到頁面 B,頁面 B 將無法訪問頁面 A 中 Form 提交的數據。

  3、Page.Navigate - Page.Navigate 實現的功能和 Response.Redirect 差不多,它實際上包括三個步驟:首先調用 Response.Redirect,其次依次卸載所有的控件,最后調用 Response.End。

  特別要注意的是:在 .NET Beta 2 中,Microsoft 將不再包括 Page.Navigate 這個功能,大家應該現在就用 Response.Redirect 來代替 Page.Navigate,以節省將來升級時的時間。



(1)Server.Transfer方法:
Server.Transfer("m2.aspx");//頁面轉向(服務器上執行).
服務器停止解析本頁,保存此頁轉向前的數據后,再使頁面轉向到m2.aspx,
并將轉向前數據加上m2.aspx頁結果返回給瀏覽器.

asp.net 頁面轉向 Response.Redirect, Server.Transfer, Server.Execute的區別



(2)Server.Execute方法:
Server.Execute("m2.aspx");
服務器保存此頁轉向前的數據后,使頁面轉向到m2.aspx執行,
再返回本頁繼續執行.再將三者結果合并后返回給瀏覽器.

以上都是服務器端頁面轉向所以瀏覽器不出現頁更改記錄(顯示的地址不會改變).
因此,如果用戶刷新此頁,也許會出現一些其它意外情況.
此類頁轉向,可完成一些其它功能,比如訪問到前一頁面中的服務端控件.

asp.net 頁面轉向 Response.Redirect, Server.Transfer, Server.Execute的區別



(3)Response.Redirect:
當瀏覽器請求aspx頁面時,碰到Redirect(url)方法,
相當于告訴瀏覽器,你先需訪問某頁面,于是瀏覽器再向服務器發送一個到此頁面的請求.
重定位是通過瀏覽器執行的,在服務器和瀏覽器之間會產生額外的往返過程。
在網絡狀況不是很好的情況下,兩次請求會大大的
降低應用程序的反應速度,甚至占用多余的帶寬.

asp.net 頁面轉向 Response.Redirect, Server.Transfer, Server.Execute的區別


總結:
在網絡狀態較好的情況下,Redirect(url)方法效率最高!!
Server.Transfer方法和Server.Execute方法最靈活!!
Server.Execute方法占用資源最多.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频一区国模私拍| 91天堂在线视频| 日本精品中文字幕| 中文字幕视频一区二区在线有码| 亚洲国产婷婷香蕉久久久久久| 午夜精品久久久久久久99热浪潮| 日韩69视频在线观看| 欧美三级免费观看| 亚洲欧美国产制服动漫| www.日韩免费| 欧美体内谢she精2性欧美| 日韩一区二区三区国产| 91亚洲va在线va天堂va国| 国产精品综合网站| 国产在线视频欧美| 亚洲黄色在线观看| 日韩精品在线免费| 欧美性猛交99久久久久99按摩| 中文国产成人精品久久一| 亚洲午夜av电影| 国产区精品视频| 亚洲人成欧美中文字幕| 性夜试看影院91社区| 国产在线观看精品一区二区三区| 欧美国产日本高清在线| 久久人人爽人人爽人人片av高请| 国产日韩欧美中文| 亚洲国产天堂网精品网站| 国产国语刺激对白av不卡| 日韩女在线观看| 精品无人区太爽高潮在线播放| 亚洲免费精彩视频| 伊人久久五月天| 久久精品成人欧美大片古装| 亚洲乱码国产乱码精品精天堂| 狠狠色狠狠色综合日日五| 中文字幕久久久av一区| 日韩精品视频在线免费观看| 欧美在线亚洲在线| 国产精品电影网站| 久久精品欧美视频| 欧美激情亚洲自拍| 久久全球大尺度高清视频| 亚洲第一视频网站| 亚洲精选中文字幕| 久久精品这里热有精品| 最近中文字幕2019免费| 97av在线影院| 精品夜色国产国偷在线| 668精品在线视频| 欧美成人在线网站| 国产91ⅴ在线精品免费观看| 国产精品久久久久久久久久小说| 96精品久久久久中文字幕| 色诱女教师一区二区三区| 亚洲精品98久久久久久中文字幕| 亚洲第一区第一页| 一区二区三区动漫| 永久555www成人免费| 日韩欧美国产免费播放| 色七七影院综合| 亚洲欧洲午夜一线一品| 色老头一区二区三区在线观看| 国产成人精品综合| 欧美裸身视频免费观看| 亚洲色图国产精品| 欧美巨乳在线观看| 欧美伊久线香蕉线新在线| 亚洲成av人影院在线观看| 午夜美女久久久久爽久久| 欧美激情免费视频| 亚洲第一黄色网| 亚洲男人第一av网站| 中文字幕自拍vr一区二区三区| 91视频免费在线| 国产91精品高潮白浆喷水| 精品一区二区三区四区| 久久亚洲春色中文字幕| 亚洲黄色片网站| 日韩成人av一区| 中文字幕亚洲无线码在线一区| 久久国产精品久久国产精品| 国产精品久久久久久久久免费看| 一个人www欧美| www高清在线视频日韩欧美| 欧美性开放视频| 久久久人成影片一区二区三区观看| 国产成人福利夜色影视| 欧美丝袜第一区| 在线看片第一页欧美| 国产欧美中文字幕| 久久天天躁狠狠躁夜夜躁| 九九热在线精品视频| 欧美精品videossex性护士| 久久久久久久久久久亚洲| 俺去了亚洲欧美日韩| 亚洲高清一区二| 欧美午夜精品久久久久久人妖| 欧美电影在线观看高清| 国模视频一区二区| 国产成人精品免高潮在线观看| 久久精品99久久香蕉国产色戒| 欧美性猛交xxxx黑人猛交| 国产精品夫妻激情| 久久精视频免费在线久久完整在线看| 欧美日韩激情美女| 欧美成人精品h版在线观看| 国产精品网红直播| 中文字幕在线视频日韩| 欧美丰满少妇xxxxx| 亚洲а∨天堂久久精品9966| 少妇精69xxtheporn| 欧美日韩成人精品| 欧美日韩中文在线| 久久精品99久久久香蕉| 亚洲自拍偷拍第一页| 国产a∨精品一区二区三区不卡| 国产在线观看精品一区二区三区| 欧美理论在线观看| 日韩欧美a级成人黄色| 日韩亚洲成人av在线| 最新国产精品拍自在线播放| 韩国v欧美v日本v亚洲| 亚洲国产精品大全| 欧美日韩国产在线播放| 欧美视频精品一区| 成人欧美一区二区三区黑人| 中文国产亚洲喷潮| 久久精品在线播放| 亚洲精品福利免费在线观看| 久久久久久久网站| 亚洲经典中文字幕| 国产97在线亚洲| 九色成人免费视频| 55夜色66夜色国产精品视频| 91美女片黄在线观看游戏| 色综合久久天天综线观看| 日本亚洲欧洲色α| 日韩最新中文字幕电影免费看| 黑人巨大精品欧美一区二区一视频| 日韩精品一区二区三区第95| 精品国产乱码久久久久久婷婷| 日本精品一区二区三区在线| 欧美老少配视频| 人人做人人澡人人爽欧美| 在线观看欧美成人| 欧美激情aaaa| 国产精品伦子伦免费视频| 亚洲国产成人91精品| 中文字幕日韩在线视频| 欧美激情xxxx| 日韩欧美aaa| 精品女厕一区二区三区| 精品日韩视频在线观看| 欧美xxxx做受欧美| 国产精品久久久久久久app| 国产精品精品国产| 美女av一区二区三区| 久久亚洲精品视频| 国产精品久久久av久久久| 欧美日韩精品在线| 91亚洲精品久久久| 亚洲无av在线中文字幕| 亚洲激情自拍图|