ASP.NET MVC设置默认控制器操作

时间:2016-04-28 18:35:39

标签: asp.net asp.net-mvc asp.net-mvc-routing

我需要被引导为我的控制器设置默认操作,以便在控制器中没有指示任何操作的情况下,应用程序将路由到给定控制器上的索引操作。例如,如果某人导航到仪表板/而未指明操作,则应用程序会自动运行仪表板控制器的索引操作。

以下显示了我的尝试,但仍然无效。

public class RouteConfig
{
  public static void RegisterRoutes(RouteCollection routes)
  {
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
      routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
    );
    routes.MapRoute(
      name: "Regular",
      url: "{controller}/{action}/{id}",
      defaults: new { controller = "Home", action = "Login", id = UrlParameter.Optional }
    );
    routes.MapRoute(
      name: "ControllerDefault",
      url: "{controller}",
      defaults: new {  action = "Index"}
    );
  }
}

我将非常感谢任何使其正常运行的指南,

1 个答案:

答案 0 :(得分:1)

你必须在同一个网址上使用不同的路线。 你只需要使用默认路由。

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

如果这是您的默认控制器,您可以将“Home”更改为“Dashboard”。