使用Attribute Routing您可以定义路线名称。有没有办法从我的视图中获取所用路线的名称?
答案 0 :(得分:1)
这听起来不是一个好主意。您应该将路径名称添加到视图数据或视图模型中。
答案 1 :(得分:1)
根据this answer,您可以使用:
@{ var x = ViewContext.RouteData.Values["Action"]; }
获取路线数据。然后根据这篇文章的the right answer:“How to get a custom attribute from object instance in C#”,您可以提取属性。
答案 2 :(得分:1)
MapMvcAttributeRoutes
有多个重载,需要IDirectRouteProvider
实现的参数。该接口负责生成路由。此接口的默认实现是DefaultDirectRouteProvider
。创建一个继承自DefaultDirectRouteProvider
的自定义类,并覆盖所需的方法,例如GetActionDirectRoutes
或GetControllerDirectRoutes
。在此方法中,您将获得包含路径名称的RouteEntry
。您可以将此名称添加到datatokens。