ASP.NET怎樣實(shí)現(xiàn)頁(yè)面重定向
發(fā)布日期:2016-04-21 00:00 來(lái)源:http://m.0851xb.cn 點(diǎn)擊:
網(wǎng)站中肯定有多個(gè)頁(yè)面構(gòu)成,頁(yè)面間的關(guān)系支撐著網(wǎng)站的層次關(guān)系。這就考慮到一個(gè)頁(yè)面重新定向的問(wèn)題,微軟提供的ASP.NET中提供了如下3種常用的頁(yè)面重定向方式:
1. 超鏈接
常見(jiàn)的方法是使用超鏈接作為用戶(hù)提供跳轉(zhuǎn)到目標(biāo)頁(yè)的“接口”。可以在 ASP.NET 網(wǎng)頁(yè)上使用HTML<a>標(biāo)記創(chuàng)建靜態(tài)鏈接,也可以通過(guò)使用 HyperLink 服務(wù)器控件以編程方式控制超鏈接的鏈接文本和目標(biāo) URL,如下面的代碼所示。
代碼實(shí)例:
<a href="<http://www.net.cn/>oonseo.cn" target="_blank">SEO研究中心</a>
<asp:HyperLink
ID="HyperLink1"
runat="server"
NavigateUrl="<http://www.net.cn/>oonseo.cn">
我的網(wǎng)站
</asp:HyperLink>
這兩種方法的特點(diǎn)在于可以將頁(yè)面重定向到任何頁(yè),而不局限于同一Web應(yīng)用程序當(dāng)中。但是不會(huì)將當(dāng)前頁(yè)的信息傳遞到目標(biāo)頁(yè),如果需要跨頁(yè)傳遞(共享)信息,通常需要使用查詢(xún)字符串或會(huì)話(huà)狀態(tài)。
2. 使用瀏覽器以編程方式重定向
可以通過(guò)調(diào)用 Redirect 方法為頁(yè)面設(shè)置重定向URL。
代碼實(shí)例:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("~/Test.aspx");
}
Redirect 方法接受一個(gè)表示目標(biāo)位置的字符串。當(dāng)服務(wù)器遇到Redirect語(yǔ)句時(shí),將發(fā)送一條指令(包含新的地址)給瀏覽器,然后讓瀏覽器去發(fā)送http請(qǐng)求。與 超鏈接一樣,Redirect 方法不會(huì)向目標(biāo)頁(yè)傳遞信息。如果源頁(yè)和目標(biāo)頁(yè)位于同一Web應(yīng)用程序中,則可以通過(guò)將數(shù)據(jù)存儲(chǔ)在會(huì)話(huà)狀態(tài)中在源頁(yè)和目標(biāo)頁(yè)之間共享數(shù)據(jù)。
3. 在服務(wù)器端以編程方式重定向
Redirect是通過(guò)瀏覽器進(jìn)行重定向的,而Transfer 方法則是在服務(wù)器上直接重定向到目標(biāo)頁(yè)。也就是說(shuō),比起Redirect方法,Transfer少了一個(gè)由服務(wù)器傳輸數(shù)據(jù)到瀏覽器的過(guò)程,而直接由服務(wù)器 端轉(zhuǎn)向目標(biāo)頁(yè)。Transfer方法的另一個(gè)顯著特點(diǎn)就是在頁(yè)面轉(zhuǎn)換時(shí),Request集合里的內(nèi)容不會(huì)丟失,從而為開(kāi)發(fā)人員帶來(lái)了方便。
代碼實(shí)例:
protected void Button1_Click(object sender, EventArgs e)
{
Server.Transfer("~/Test.aspx");
}
由于源頁(yè)和目標(biāo)頁(yè)之間的傳輸在服務(wù)器上進(jìn)行,瀏覽器沒(méi)有任何關(guān)于更改后的頁(yè)的信息,它仍保留有關(guān)原始(源)URL 的信息。例如,Internet Explorer 中的“地址”框在執(zhí)行傳輸后不會(huì)發(fā)生變化,而是繼續(xù)顯示請(qǐng)求的頁(yè)(通常為源頁(yè))的 URL。因此,對(duì)于以隱藏 URL 的方式向用戶(hù)呈現(xiàn)頁(yè)面的應(yīng)用程序而言,調(diào)用 Transfer 方法是一種好的策略。注意:采用Transfer方式重定向,源頁(yè)與目標(biāo)頁(yè)必須位于相同的 Web 應(yīng)用程序中,否則會(huì)引發(fā)異常。
相關(guān)標(biāo)簽:河南網(wǎng)站推廣
相關(guān)新聞:
- 網(wǎng)站是在原來(lái)的基礎(chǔ)上修改,還是重新做更合適?
- 智能小程序?qū)eo影響這么大,為什么做的人不多?
- 網(wǎng)站訪(fǎng)問(wèn)慢,是服務(wù)器配置低,還是網(wǎng)站問(wèn)題?用實(shí)例來(lái)告訴你,怎么排查
- 如何讓搜索軟件迅速搜到你
- 網(wǎng)站長(zhǎng)時(shí)間不更新,會(huì)不會(huì)影響到SEO的效果
- 網(wǎng)站間歇性的打不開(kāi),是什么原因
- app開(kāi)發(fā)為什么價(jià)格差異大,主要原因就在這里
- 什么是適當(dāng)?shù)年P(guān)鍵字密度設(shè)置在網(wǎng)絡(luò)推廣?
- 做的網(wǎng)站為什么要放到網(wǎng)站建設(shè)公司那里進(jìn)行托管,自己維護(hù)不香嗎?
- 網(wǎng)站排名不穩(wěn)定的原因都有哪些