Ivo*_*Ivo 10 attributerouting asp.net-mvc-5
如何使用MVC中的新属性路由创建捕获所有路由
我试过这个:
[Route("{pagenode}", Order = 999)]
但是当我有一条命名路线时
[Route("contact"]
我收到了"Multiple controller types were found that match the URL. This can happen if attribute routes on multiple controllers match the requested URL."
错误.
Jim*_*uck 19
如果路径中的第一个"目录"是固定的,则可以使用属性路由完成此操作.
例如,以匹配任何撞击/questions
或/questions/4
或/questions/answers/42
那么你可以使用[Route("questions/{*catchall}"]
.
您无法使用属性路由来执行此操作,请使用 MVC4 方式执行此操作:
在路线映射器中映射路线,如下所示:
routes.MapRoute("RouteName","{*url}",new { controller = "YourFancyController", action = "YourAction" });
Run Code Online (Sandbox Code Playgroud)
这将是您的包罗万象的路线。
如果您想将所有路由映射到其控制器,您可以这样做:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
AreaRegistration.RegisterAllAreas();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6010 次 |
最近记录: |