国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net 頁面轉向 Response.Redirect, Server.Transfer, Server.Exec

2024-07-10 12:38:23
字體:
來源:轉載
供稿:網友
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 值時會發生錯誤。請參見:http://support.microsoft.com/default.aspx?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");
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 山阳县| 崇信县| 建湖县| 和平区| 和静县| 莎车县| 松阳县| 枣强县| 博罗县| 苏尼特左旗| 贡觉县| 佛学| 石狮市| 增城市| 和政县| 马边| 三台县| 怀宁县| 瓦房店市| 体育| 河南省| 紫阳县| 潼南县| 隆回县| 高州市| 香河县| 瑞安市| 聂拉木县| 多伦县| 鲁山县| 垫江县| 南丹县| 安龙县| 昆山市| 延边| 怀集县| 建水县| 灵山县| 苗栗市| 岳西县| 桦川县|