本文介紹ASP.NET中的URL映射,你可以用來(lái)在ASP.NET中干凈地映射或重寫(xiě)URL,以及按照你自己的需求組織你的URL的結(jié)構(gòu)。
URL映射是ASP.NET 2.0中提供的新特性。URL映射技術(shù)幫助我們將一個(gè)特定URL映射為另一個(gè)URL。為了幫助理解,我們假設(shè)你在站點(diǎn)有一個(gè)叫Homepage.aspx的頁(yè)面來(lái)訪問(wèn)主頁(yè),所有的用戶(hù)也都用這個(gè)頁(yè)面來(lái)訪問(wèn)你的主頁(yè)。但由于某些原因,你要將主頁(yè)改為OriginalHome.aspx。此時(shí)使用URL映射讓你可以映射到新頁(yè)面,而不必通知用戶(hù)。
如果我們?cè)O(shè)置了URL映射,那么任何用戶(hù)在URL欄輸入Homepage.aspx時(shí),調(diào)用的都是OriginalHome.aspx。
深入概念:
讓我們看看如何實(shí)現(xiàn)它。
這可以在configuration部分實(shí)現(xiàn)。
語(yǔ)法:
<urlMappings enabled="[true|false]">
<add url="String"
mappedUrl="String"/>
</urlMappings>
如果你想使用URL映射,你必須將enabled屬性設(shè)置為true。每個(gè)add元素都含有一個(gè)原URL和映射URL。概念很簡(jiǎn)單!如果我們?yōu)樯鲜鰣?chǎng)景配置了URL映射,config文件中的元素顯示如下:
<urlMappings enabled="true">
<add url="~/ Homepage.aspx" mappedUrl="~/ OriginalHome.aspx"/>
</urlMappings>
一旦我們進(jìn)行了修改或在工程的web.config文件中增加了如上的元素,任何用戶(hù)試圖訪問(wèn)Homepage.aspx時(shí),由于URL映射,都將調(diào)用OriginalHome.aspx頁(yè)面。有趣的是在URL欄中仍然僅顯示Homepage.aspx。所以盡管想到內(nèi)部調(diào)用/執(zhí)行了OriginalHome.aspx,用戶(hù)在URL欄仍見(jiàn)到Hopepage.aspx。
一些優(yōu)點(diǎn):
1.若你的客戶(hù)標(biāo)記了到一個(gè)頁(yè)面的鏈接,但你又得刪除該頁(yè)并在換上其他頁(yè)面,那么使用URL映射你可以解決這個(gè)商業(yè)問(wèn)題而不用讓客戶(hù)知道這個(gè)頁(yè)面變化。
2.若有一個(gè)大而復(fù)雜的URL,但不想把它給用戶(hù),那么你可以告知簡(jiǎn)單的URL,而自己將簡(jiǎn)單的URL映射到原先的URL。
3. 用這個(gè)方法可以方便處理菜單控件。最好的例子就是asp.net站點(diǎn)。
4.這里也牽涉到安全(用戶(hù)無(wú)法在URL欄看到真實(shí)的頁(yè)面名,這也是一種加密!)。
希望你喜歡這個(gè)新特性。