我的博客控制器中有一个名为Projects的ActionResult,它返回所有的项目,但我的URL看起来像example.com/blog/projects,我想设置路由使它看起来像example.com/projects。
有可能吗?如果是,那么我如何才能做到这一点?
发布于 2011-12-17 23:59:42
您必须按照Global.asax的方式注册路由,并将其作为第一条路由
routes.MapRoute("Projects", "Projects" , new { controller="blog" , action="Projects" });发布于 2011-12-18 00:01:54
您可以将路由添加到Global.asax.cs文件,例如:
routes.MapRoute(
"Projects", // Route name
"Projects/{id}", // URL with parameters
new { controller = "Blog", action = "Projects", id = UrlParameter.Optional } // Parameter defaults
);所以它看起来像这样:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Projects", // Route name
"Projects/{id}", // URL with parameters
new { controller = "Blog", action = "Projects", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}确保您的新路由高于默认路由,否则您的路由将永远不会被击中。
https://stackoverflow.com/questions/8545891
复制相似问题