2010-06-14 48 views
1

我還是很新的,以與asp.net的MVC路由,所以也許這是顯而易見的,我只是缺少了答案......與路由,ASP.NET MVC更改URL

我有一個名爲「控制器頁面「,它有幾個操作結果,」信息「,」歷史「等。每個操作結果都接受一個字符串,並從中返回一個基於字符串名稱的View。所以......

頁/信息/關於 頁/信息/產品 頁/歷史/員工

等控制器被命名爲當然的「頁數」。我想知道如果我可以使用路由來移除用戶端URL的「頁面」部分,只是爲了更方便用戶使用?

回答

3

是的,你可以這樣做:

context.MapRoute(
      "Pages_History_Employees", 
      "History/Employees", // URL with parameters 
      new { controller = "Pages", action = "History" } 
     ); 

只需指定控制器頁面,並指定要作爲第二個參數的任何URL。這是說我想將History/Employees URI路由到Pages控制器,並使用History操作來處理這條路線。

要小心,如果你有默認的MVC路線在那裏,它出現在你的路線的末尾或它將首先匹配這條路線。然後你會得到一個錯誤,因爲它將使用Employees操作查找歷史記錄控制器。