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

首頁 > 編程 > .NET > 正文

Server.Transfer,Response.Redirect的區(qū)別

2024-07-10 12:40:26
字體:
供稿:網(wǎng)友
如果你讀過很多行業(yè)雜志和 ASP.NET 示例,你會(huì)發(fā)現(xiàn),大多數(shù)人使用 Response.Redirect 將用戶引導(dǎo)到另一個(gè)頁面,而另一些人好像偏愛于神秘的 Server.Transfer,那么,這二者有什么區(qū)別?

Response.Redirect 簡(jiǎn)單地發(fā)送一條消息到瀏覽器,告訴瀏覽器定位到另一個(gè)頁面。你可以使用下面的代碼將用戶引導(dǎo)到另一個(gè)頁面:
Response.Redirect("WebForm2.aspx")
或者
Response.Redirect("http://www.karlmoore.com/")

Server.Transfer 也是通過一條語句將用戶引導(dǎo)到另一頁面,比如:Server.Transfer("WebForm2.aspx")。不過,這條語句有一系列獨(dú)特的優(yōu)缺點(diǎn)。

首先,通過 Server.Transfer 引導(dǎo)到另一頁面保留服務(wù)器資源,通過更改服務(wù)器端“焦點(diǎn)”和傳輸請(qǐng)求來代替告訴瀏覽器重定向,這就意味著你不會(huì)占用較多的 HTTP 請(qǐng)求,因此這可以減輕服務(wù)器的壓力,使你的服務(wù)器運(yùn)行更快。

不過,請(qǐng)注意,由于 "transfer" 只能在同一服務(wù)器端的同一站點(diǎn)間運(yùn)行,所以你不能用 Server.Transfer 將用戶重定向到另一服務(wù)器上的站點(diǎn)。要重定向到服務(wù)器以外的站點(diǎn),只有 Response.Redirect 能辦到。

其次,Server.Transfer 保留瀏覽器端的 URL 地址。這對(duì)流線型的數(shù)據(jù)輸入很有幫助,不過這也增加了調(diào)試的復(fù)雜度。

還有:Server.Transfer 方法還有另一個(gè)參數(shù)——"preserveForm"。如果你設(shè)置這個(gè)參數(shù)為 True,比如:Server.Transfer("WebForm2.aspx", True), 那么 query string 和任何 form 變量都會(huì)同時(shí)傳遞到你定位的頁面。

例:WebForm1.aspx 有一個(gè)文本框名為 TextBox1,你利用 preserveForm 為 True 傳遞到 WebForm2.aspx,你仍然可以用 Request.Form("TextBox1") 來取得文本框的值。

這種技術(shù)對(duì)向?qū)降亩囗撁孑斎牒苡杏茫贿^這里有一個(gè)你必須注意的問題是,當(dāng)你使用 preserveForm 參數(shù)時(shí),ASP.NET 有一個(gè) bug,通常情況下,當(dāng)試圖傳遞 form 或 query string 值時(shí)會(huì)發(fā)生錯(cuò)誤。請(qǐng)參見:http://support.microsoft.com/default.aspx?id=kb;en-us;Q316920

非官方的解決辦法是在你要傳遞的目的頁面中設(shè)置 enableViewStateMac 屬性為 True,然后再將其設(shè)置回 False。這說明你需要使用 enableViewStateMac 的 False 值才能解決這個(gè)問題。

總結(jié):Response.Redirect 簡(jiǎn)單地告訴瀏覽器訪問另一個(gè)頁面。Server.Transfer 有利于減少服務(wù)器請(qǐng)求,保持地址欄 URL 不變,允許你將 query string 和 form 變量傳遞到另一個(gè)頁面(有一點(diǎn)小小的缺陷)。

重要提示:不要混淆了 Server.Transfer 和 Server.Execute,Server.Execute 執(zhí)行一個(gè)頁面,并返回結(jié)果,在過去 Server.Execute 很有用,不過在 ASP.NET 里,它被 fresher 方法所代替,所以忽略 Server.Execute。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 邢台市| 茌平县| 江山市| 海晏县| 达孜县| 永年县| 临桂县| 岳普湖县| 靖安县| 桓台县| 襄垣县| 汽车| 白河县| 景洪市| 大渡口区| 壤塘县| 宝兴县| 菏泽市| 乌恰县| 武宣县| 吴江市| 遂川县| 大关县| 新巴尔虎左旗| 卓尼县| 辽阳县| 晋中市| 汶川县| 太和县| 永康市| 金塔县| 大足县| 罗城| 凭祥市| 班戈县| 盐山县| 溧水县| 南城县| 武邑县| 军事| 海原县|