ASP.NET MVC 设置默认控制器操作
ASP.NET MVC Set default controller action
请指导我为我的控制器设置默认操作,这样只要控制器中没有指示操作,应用程序就会路由到给定控制器上的索引操作。例如,如果有人导航到 dashboard/ 而没有指示操作,应用程序会自动运行 dashboard 控制器的 index 操作。
以下显示了我的尝试,但仍然无法正常工作。
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"}
);
}
}
我将不胜感激任何让它正常工作的指南,
您必须在同一条 url 上选择不同的路线。
你只需要使用默认路由。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home",action = "Index",id = UrlParameter.Optional }
);
如果这是您的默认控制器,您可以将 "Home" 更改为 "Dashboard"。
请指导我为我的控制器设置默认操作,这样只要控制器中没有指示操作,应用程序就会路由到给定控制器上的索引操作。例如,如果有人导航到 dashboard/ 而没有指示操作,应用程序会自动运行 dashboard 控制器的 index 操作。
以下显示了我的尝试,但仍然无法正常工作。
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"}
);
}
}
我将不胜感激任何让它正常工作的指南,
您必须在同一条 url 上选择不同的路线。 你只需要使用默认路由。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home",action = "Index",id = UrlParameter.Optional }
);
如果这是您的默认控制器,您可以将 "Home" 更改为 "Dashboard"。