IRouteValueProvider Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Интерфейс метаданных, указывающий значение маршрута, необходимое для выбора действия селектором действий. При применении к действию с помощью маршрутизации атрибутов значение маршрута будет добавлено к выбранному Values действию.
IRouteValueProvider Если используется для предоставления нового значения маршрута для действия, все действия в приложении также должны иметь значение, связанное с этим ключом, или иметь неявное значение null
. Дополнительные сведения см. в примечаниях.
public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
- Производный
Комментарии
Типичная схема выбора действий в приложении MVC заключается в том, что для действия потребуются соответствующие значения и ControllerNameActionName
MyApp.Controllers.HomeController.Index()
, для выбора, Values должен содержать значения { "action": "Index", "controller": "Home" }Если области используются в приложении (см. реализациюIRouteValueProvider), то все действия учитываются либо в области, имея значение, отличноеnull
от области (указанное AreaAttribute или другоеIRouteValueProvider), либо считаются "за пределами" областей, имея значениеnull
.AreaAttribute
Index
метод действия: где MyApp.Controllers.HomeController.Index()
MyApp.Areas.Blog.Controllers.HomeController.Index()
- MyApp.Areas.Blog.Controllers.HomeController
имеется атрибут [Area("Blog")]
области.Например Values : { "action": "Index", "controller": "Home" }
MyApp.Controllers.HomeController.Index()
будет выбран. MyApp.Area.Blog.Controllers.HomeController.Index()
не считается допустимым, так как Values не содержит значение "Блог" для "области".
Например Values : { "area": "Blog", "action": "Index", "controller": "Home" }
MyApp.Area.Blog.Controllers.HomeController.Index()
будет выбран. MyApp.Controllers.HomeController.Index()
не считается допустимым, так как значения маршрута содержат значение для "area". MyApp.Controllers.HomeController.Index()
не может соответствовать ни одному значению для "области", отличной от null
.
Свойства
RouteKey |
Ключ значения маршрута. |
RouteValue |
Значение маршрута. Если |