2015-06-23 34 views
0

我想在MVC中設置自定義路由,但有幾個問題。MVC路由不按需要工作

這是配置文件至今: -

public class RouteConfig 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 


     routes.MapRoute(
      name: "inbox", 
      url: "inbox", 
      defaults: new { controller = "Mail", action = "Inbox", id = UrlParameter.Optional } 
     ); 


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

    } 
} 

這是我認爲的鏈接: -

@Html.ActionLink("Inbox", "inbox") 

麻煩的是輸出HTML是被生產爲http://localhost/Home/inbox

我只希望它是http://localhost/inbox

謝謝他任何他lp

+0

好男人,工作! – Shazoo

回答

0

您使用的錯誤超載爲Html.ActionLink。使用您正在使用的版本,它使用當前上下文來確定控制器,而您想使用Mail控制器。所以要解決這個問題,改變它明確指定控制器是這樣的:

@Html.ActionLink("Inbox", "Inbox", "Mail")