2013-01-23 18 views
1

我正在與ASP.NET MVC 4一起工作,我正在嘗試編寫一個非常基本的路線,但它不起作用,讓它非常沮喪!設置一個簡單的ASP.NET MVC路線

我想要的網址http://www.mywebsite.com/my-page觸發稱爲控制器和操作方法指數

我沒有其他途徑設置除了這一點:

RouteTable.Routes.MapRoute(
    name: "Default", 
    url: "my-page", 
    defaults: new { controller = "Page", action = "Index" } 
); 

是不是有什麼不正確用我的設置或者我要去哪裏錯了?

我得到的錯誤是:

控制器的路徑「/我的頁面」未找到或沒有實現一個IController。

+0

這工作正常從默認的Mvc網站。你能告訴我們整個RouteConfig嗎? –

+0

你的路線看起來不錯。添加你的控制器類到你的文章。 –

回答

0

主要問題是您試圖覆蓋默認路由。在MVC4中,路由在App_Start/RouteConfig.cs中定義。 「默認」的路線應該是最後的路線:

 routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 

然後,您的具體路線,使用默認路由前執行以下操作:

 routes.MapRoute(
      name: "MyPage", 
      url: "my-page", 
      defaults: new { controller = "Page", action = "Index" } 
     ); 

Fianlly,確保你有一個控制器PageController.cs與一個行動索引和視圖視圖/頁/ Index.cshtml:

public class PageController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 
}