用好ASP.NET 2.0的URL映射
發(fā)布時(shí)間:2008-06-03 閱讀數(shù): 次 來(lái)源:網(wǎng)樂(lè)原科技
簡(jiǎn)介:
URL映射是ASP.NET 2.0中提供的新特性。URL映射技術(shù)幫助我們將一個(gè)特定URL映射為另一個(gè)URL。為了幫助理解,我們假設(shè)你在站點(diǎn)有一個(gè)叫Homepage.aspx的頁(yè)面來(lái)訪問(wèn)主頁(yè),所有的用戶也都用這個(gè)頁(yè)面來(lái)訪問(wèn)你的主頁(yè)。但由于某些原因,你要將主頁(yè)改為OriginalHome.aspx。此時(shí)使用URL映射讓你可以映射到新頁(yè)面,而不必通知用戶。
如果我們?cè)O(shè)置了URL映射,那么任何用戶在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。對(duì),概念很簡(jiǎn)單!如果我們?yōu)樯鲜鰣?chǎng)景配置了URL映射,config文件中的元素顯示如下:
<urlMappings enabled="true">
<add url="~/ Homepage.aspx" mappedUrl="~/ OriginalHome.aspx"/>
</urlMappings>
一旦我們進(jìn)行了修改或在工程的web.config文件中增加了如上的元素,任何用戶試圖訪問(wèn)Homepage.aspx時(shí),由于URL映射,都將調(diào)用OriginalHome.aspx頁(yè)面。有趣的是在URL欄中仍然僅顯示Homepage.aspx。所以盡管想到內(nèi)部調(diào)用/執(zhí)行了OriginalHome.aspx,用戶在URL欄仍見到Hopepage.aspx。
一些優(yōu)點(diǎn):
1.若你的客戶標(biāo)記了到一個(gè)頁(yè)面的鏈接,但你又得刪除該頁(yè)并在換上其他頁(yè)面,那么使用URL映射你可以解決這個(gè)商業(yè)問(wèn)題而不用讓客戶知道這個(gè)頁(yè)面變化。
2.若有一個(gè)大而復(fù)雜的URL,但不想把它給用戶,那么你可以告知簡(jiǎn)單的URL,而自己將簡(jiǎn)單的URL映射到原先的URL。
3. 用這個(gè)方法可以方便處理菜單控件。最好的例子就是asp.net站點(diǎn)。
4.這里也牽涉到安全(用戶無(wú)法在URL欄看到真實(shí)的頁(yè)面名,這也是一種加密?。?BR>
希望你喜歡這個(gè)新特性。
是的,我知道,現(xiàn)在你的問(wèn)題是,既然現(xiàn)在ASP.NET 2.0還沒(méi)有面市,怎么利用這個(gè)新特性呢。這里有個(gè)變通方法。Stev在他的blog里進(jìn)行了簡(jiǎn)要的解釋。
你可以在http://weblogs.asp.net/ssmith/archive/2003/11/06/36191.aspx看到。他的解釋非常簡(jiǎn)單,根據(jù)你的實(shí)際案例,你可以為它增加功能。
現(xiàn)在你可以使用這個(gè)技巧,而等ASP.NET 2.0面市,你就可以利用新特性了。