我想问一下,RouteConfig
类中是否有可能有多个路由。我的逻辑如下,我想要实现什么。我已经actionLink("Dashboard", "Account".....)
了,并希望拥有一个独特的页面,在加载页面时不会与现有页面冲突。请帮助我有办法。
namespace ContentManagementSystem
{
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 = "Home", action = "Index", id = UrlParameter.Optional } // I already have this working fine
defaults: new { controller = "Dashbaord", action = "_Index", id = UrlParameter.Optional // I want to have separate, but unique route for this controller for actionResult
);
}
}
}
是的,您可以拥有更多路线:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Student",
url: "students/{id}",
defaults: new { controller = "Student", action = "Index"}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
如上面的代码所示,学生路由的 URL 模式为students/{id}
,它指定任何以domainName/students
开头的 URL 都必须由StudentController
处理。
请注意,我们尚未在 URL 模式中指定 {action},因为我们希望每个以 student 开头的 URL 都应始终使用StudentController
的索引操作。我们已经指定了默认控制器和操作来处理从domainname/students
开始的任何 URL 请求。
您可以在此处阅读更多内容
将其添加到默认路由的顶部:
namespace ContentManagementSystem
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("other_route", "other_route/",
defaults: new { controller = "OtherController", action = "OtherAction" });
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } // I already have this working fine
defaults: new { controller = "Dashbaord", action = "_Index", id = UrlParameter.Optional // I want to have seperate, but unique route for this controller for actionResult
);
}
}
}