IRouteValueProvider 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
元数据接口,指定操作选择器选择操作所需的路由值。 当使用属性路由应用于操作时,当选择该操作时,路由值将添加到 Values 中。
IRouteValueProvider使用 向操作提供新的路由值时,应用程序中的所有操作还必须具有与该键关联的值,或具有隐式值 null
。 有关更多详细信息,请参阅备注。
public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
- 派生
注解
MVC 应用程序中操作选择的典型方案是,操作需要其 ControllerName 和 的匹配值 ActionName
MyApp.Controllers.HomeController.Index()
,为了被选中, Values 必须包含值 { “action”: “Index”, “controller”: “Home” }如果应用程序中正在使用的区域 (查看AreaAttribute实现 IRouteValueProvider) 则所有操作都考虑在一个区域中,方法是 (指定的AreaAttribute非null
区域值或另IRouteValueProvider一个) ,或者通过具有值 null
将区域视为“超出”区域。
Index
操作方法: - MyApp.Controllers.HomeController.Index()
MyApp.Areas.Blog.Controllers.HomeController.Index()
- 其中 MyApp.Areas.Blog.Controllers.HomeController
具有区域属性 。[Area("Blog")]
对于 Values like: { “action”: “Index”, “controller”: “Home” }
MyApp.Controllers.HomeController.Index()
将选中。
MyApp.Area.Blog.Controllers.HomeController.Index()
被视为不符合条件, Values 因为 不包含“区域”的值“Blog”。
对于 Values like: { “area”: “Blog”, “action”: “Index”, “controller”: “Home” }
MyApp.Area.Blog.Controllers.HomeController.Index()
将选中。
MyApp.Controllers.HomeController.Index()
被视为不符合条件,因为路由值包含“area”的值。
MyApp.Controllers.HomeController.Index()
不能匹配除 null
以外的任何“区域”值。
属性
RouteKey |
路由值键。 |
RouteValue |
路由值。 如果 |