ASP.NET 2.0 URL Rewrite 學習總結

iDotNetSpace發表於2009-02-23

本書中的示例是通過修改Web.config去達到URL Rewrite的目的,通過自己上網查詢,可以實現這個功能的元件和方法還是很多的。由於時間原因,只學習了兩種。一種是ASP.NET 2.0程式設計珠璣書中的,一種是通過MS的URLRewriter來實現的。

1,

中新增配置節點



        mappedUrl="~/Chapter1/YearView.aspx?year=2006"/>
        mappedUrl="~/Chapter1/YearView.aspx?year=2005"/>
        mappedUrl="~/Chapter1/MonthView.aspx?year=2006&month=01"/>
        mappedUrl="~/Chapter1/MonthView.aspx?year=2006&month=02"/>
        mappedUrl="~/Chapter1/MonthView.aspx?year=2005&month=01"/>
        mappedUrl="~/Chapter1/MonthView.aspx?year=2005&month=02"/>
  

然後,前臺的客戶端就可以新增類似的超連結

      2005
      2005
      01

                 02

                 03

                 04

                 05

                 06

                 07

                 08

                 09

                 10

                 11

                 12

當點選超連結的時候,位址列只會顯示http://localhost:2537/WebDemo/2005/01,實際上是連線到了http://localhost:2537/WebDemo、Chapter1/MonthView.aspx?year=2006&month=01

2,

  首先:現在MSDNURLRewriting,安裝完成後,在安裝目錄下找到ActionlessForm. ,URLRewriter。分別找的他們bin目錄下的ActionlessForm.dll 和 URLRewriter.dll。然後新增到你的專案中。

  第二:修改配置檔案

    在中新增如下節點


  


 
 
  
   
    ~/(\d{4})/(\d{2})/(\d{2})
    ~/GuanTestURLRewrit/ShowBlogContent.aspx?year=$1&month=$2&day=$3
   

   
    ~/(\d{4})/(\d{2})/(\d{2})/Default\.html
    ~/GuanTestURLRewrit/ShowBlogContent.aspx?year=$1&month=$2&day=$3
   

   
    ~/(\d{4})/(\d{2})/Default\.html
    
   

   
    ~/(\d{4})/Default\.html
    ~/GuanTestURLRewrit/ShowBlogContent.aspx?year=$1
   

   

 

中新增下面的節點


   
  

現在配置檔案基本修改完成。下面是客戶端程式碼:

Year

        Year and Month

        Year Month and Day

這樣當我們點選按鈕的時候,就會通過配置檔案的正規表示式,去找到真正的路徑。

例如:我們點選的是http://localhost:12003/Demo/2003/Default.html實際上的路徑為:http://localhost:12003/Demo/GuanTestURLRewrit/ShowBlogContent.aspx?year=2003

相對而言,後者比較靈活,可以應用正規表示式。

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