簡介:
URL映射是ASP.Net 2.0中提供的新特性。URL映射技術幫助我們將一個特定URL映射為另一個URL。為了幫助理解,我們假設你在站點有一個叫Homepage.aspx的頁面來訪問主頁,所有的用戶也都用這個頁面來訪問你的主頁。但由於某些原因,你要將主頁改為OriginalHome.ASPx。此時使用URL映射讓你可以映射到新頁面,而不必通知用戶。
如果我們設置了URL映射,那麼任何用戶在URL欄輸入Homepage.aspx時,調用的都是OriginalHome.ASPx。
深入概念:
讓我們看看如何實現它。
這可以在configuration部分實現。
語法:
<urlMappings enabled="[true|false]">
<add url="String"
mappedUrl="String"/>
</urlMappings>
如果你想使用URL映射,你必須將enabled屬性設置為true。每個add元素都含有一個原URL和映射URL。對,概念很簡單!如果我們為上述場景配置了URL映射,config文件中的元素顯示如下:
<urlMappings enabled="true">
<add url="~/ Homepage.aspx" mappedUrl="~/ OriginalHome.ASPx"/>
</urlMappings>
一旦我們進行了修改或在工程的Web.config文件中增加了如上的元素,任何用戶試圖訪問Homepage.aspx時,由於URL映射,都將調用OriginalHome.aspx頁面。有趣的是在URL欄中仍然僅顯示Homepage.aspx。所以盡管想到內部調用/執行了OriginalHome.aspx,用戶在URL欄仍見到Hopepage.ASPx。
一些優點:
1.若你的客戶標記了到一個頁面的鏈接,但你又得刪除該頁並在換上其他頁面,那麼使用URL映射你可以解決這個商業問題而不用讓客戶知道這個頁面變化。
2.若有一個大而復雜的URL,但不想把它給用戶,那麼你可以告知簡單的URL,而自己將簡單的URL映射到原先的URL。
3. 用這個方法可以方便處理菜單控件。最好的例子就是ASP.Net站點。
4.這裡也牽涉到安全(用戶無法在URL欄看到真實的頁面名,這也是一種加密!)。
希望你喜歡這個新特性。
是的,我知道,現在你的問題是,既然現在ASP.Net 2.0還沒有面市,怎麼利用這個新特性呢。這裡有個變通方法。Stev在他的blog裡進行了簡要的解釋。
你可以在http://weblogs.ASP.Net/ssmith/archive/2003/11/06/36191.ASPx看到。他的解釋非常簡單,根據你的實際案例,你可以為它增加功能。
現在你可以使用這個技巧,而等ASP.Net 2.0面市,你就可以利用新特性了。