IRouteValueProvider Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Интерфейс метаданных, указывающий значение маршрута, необходимое для выбора действия с помощью селектора действия. При применении к действию с помощью маршрутизации атрибутов значение маршрута будет добавлено в 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), то все действия рассматриваются либо в области с помощью значения, неnull
являющегося областью (указанной AreaAttribute или другой IRouteValueProvider), либо считаются "за пределами" областей с помощью значения null
.
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 так как не содержит значение "Blog" для "area".
Для Values like: { "area": "Blog", "action": "Index", "controller": "Home" }
MyApp.Area.Blog.Controllers.HomeController.Index()
будет выбран.
MyApp.Controllers.HomeController.Index()
не считается допустимым, так как значения маршрута содержат значение для "area".
MyApp.Controllers.HomeController.Index()
не может соответствовать ни одному значению для "area", отличному от null
.
Свойства
RouteKey |
Ключ значения маршрута. |
RouteValue |
Значение маршрута. Если |