使用 ASP.Net 5 的 MVC 6 属性路由注册路由
Registering routes with ASP.Net 5's MVC 6 Attribute Routing
在 ASP.Net MVC 5 中使用属性路由时,您将调用命令 routes.MapMvcAttributeRoutes();
,然后只需将 Route()
标记添加到要构建路由的 Controller/Actions到。我现在正尝试在 ASP.Net MVC 6 中执行此操作,并且发现许多页面向您展示了如何执行此操作,这与在 MVC 5 中确实没有什么不同,但它们没有向您显示在哪里或如何注册那些路线。
ASP.Net MVC 6 是自动为您准备的,还是有等同于 routes.MapMvcAttributeRoutes();
的东西我必须在哪里调用?
如果您使用 app.UseMvc()
在 Startup class 中启用了 MVC,那么您已经支持通过 RouteAttribute
进行路由。
您可以将 RouteAttribute
添加到您的控制器之一的方法中,例如:
[Route("/example")]
public IActionResult Example()
{
// …
}
这使得路由在 /example
下可用,而不是默认的 /ControllerName/Example
。
您也可以在控制器class上使用RouteAttribute
,例如
[Route("test/[action]")]
public class ExampleController : Controller
{
// …
}
因此操作将在 /test/MethodName
而不是 Example/MethodName
下可用。
在 ASP.Net MVC 5 中使用属性路由时,您将调用命令 routes.MapMvcAttributeRoutes();
,然后只需将 Route()
标记添加到要构建路由的 Controller/Actions到。我现在正尝试在 ASP.Net MVC 6 中执行此操作,并且发现许多页面向您展示了如何执行此操作,这与在 MVC 5 中确实没有什么不同,但它们没有向您显示在哪里或如何注册那些路线。
ASP.Net MVC 6 是自动为您准备的,还是有等同于 routes.MapMvcAttributeRoutes();
的东西我必须在哪里调用?
如果您使用 app.UseMvc()
在 Startup class 中启用了 MVC,那么您已经支持通过 RouteAttribute
进行路由。
您可以将 RouteAttribute
添加到您的控制器之一的方法中,例如:
[Route("/example")]
public IActionResult Example()
{
// …
}
这使得路由在 /example
下可用,而不是默认的 /ControllerName/Example
。
您也可以在控制器class上使用RouteAttribute
,例如
[Route("test/[action]")]
public class ExampleController : Controller
{
// …
}
因此操作将在 /test/MethodName
而不是 Example/MethodName
下可用。