ASP.NET2.0的URL對映的實現方法

iDotNetSpace發表於2009-01-05
為了幫助理解,我們假設你在站點有一個叫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欄看到真實的頁面名,這也是一種加密!)。

1) { $("#page").show(); }

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-526828/,如需轉載,請註明出處,否則將追究法律責任。

相關文章