我定义了以下路线:
routes.MapRoute(
"Content Pages",
"{action}",
new { controller = "Pages", action = "Index" });
routes.MapRoute(
"Default",
"{controller}/{action}/{id}/{title}",
new { controller = "Home", action = "Index",
id = UrlParameter.Optional,
title = UrlParameter.Optional },
new string[] { "MyCompany.Web.Controllers" });
我有一个名为Pages的控制器,它有一些像我们想要访问的“关于”,“常见问题”等操作:mywebsite.com/About
这当前有效,但现在我的所有其他控制器最终都在url中指定了默认操作。我Books
的操作链接呈现为mywebsite.com/Books/Index。
如何修改我的路线以便实现这一目标?
答案 0 :(得分:1)
对于你这样的所有其他控制器,我会有一个更通用的路由(但是把它放在下面的Page路由之后)
routes.MapRoute(
"Content Pages",
"{controller}",
new { Home= "Home", action = "Index" });
并将您的第一页更改为针对这两个操作更具体(假设您没有关于或常见问题控制器)。
routes.MapRoute("About Page", "about", new { controller = "Pages", action = "About" });
routes.MapRoute("FAQ Page", "faq", new { controller = "Pages", action = "FAQ" });