2012-03-29 78 views
0

我正在創建一個CMS,並且希望將所有請求發送到Default.aspx(管理員路由除外)。以下是我有:ASP.NET 4 Webforms Routing

protected void Application_Start(object sender, EventArgs e) 
    { 
     RouteTable.Routes.Ignore("favicon.ico"); 

     RouteTable.Routes.MapPageRoute("Administrator", 
      "Administrator", 
      "~/Admin/Default.aspx"); 

     RouteTable.Routes.MapPageRoute("CMS", 
      "{PageURL}", 
      "~/Default.aspx"); 
    } 

這是工作的要求,如:

mywebsite.com mywebsite.com/test mywebsite.com/anothertest

不過,我得到一個資源不能被發現:

mywebsite.com/another/test

我怎樣才能改變我的路由,使其捕捉多個級別?

回答

2

您可以嘗試使用路由通配符將您的{PageURL}轉換爲{*PageURL}(或者我甚至認爲{*}可以工作,但我不確定)。

或者,你可以不喜歡PageURL/{*TheRest}

只要記住通配符是非常強大的,應在你的路線年底正式因爲路由才能想通了。

+0

謝謝,添加RouteTable.Routes.MapPageRoute(「CMS」, 「{* PageURL}」, 「〜/ Default.aspx」);因爲底線就是訣竅 – Paul 2012-03-29 03:36:14