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