IRouteValueProvider Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Interfaz de metadatos que especifica un valor de ruta que es necesario para que el selector de acciones elija una acción. Cuando se aplica a una acción mediante el enrutamiento de atributos, el valor de ruta se agregará a cuando Values se seleccione la acción.
Cuando se usa para IRouteValueProvider proporcionar un nuevo valor de ruta a una acción, todas las acciones de la aplicación también deben tener un valor asociado a esa clave o tener un valor implícito de null
. Consulte los comentarios para obtener más detalles.
public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
- Derivado
Comentarios
El esquema típico para la selección de acciones en una aplicación MVC es que una acción requerirá los valores coincidentes para su ControllerName y ActionName
MyApp.Controllers.HomeController.Index()
, para seleccionarla, Values debe contener los valores { "action": "Index", "controller": "Home" }Si las áreas están en uso en la aplicación (vea AreaAttribute qué implementa IRouteValueProvider), todas las acciones se tienen en cuenta en un área teniendo un valor que nonull
es de área (especificado por AreaAttribute u otro IRouteValueProvider) o se consideran "fuera" de las áreas al tener el valor null
.
Index
método de acción: , MyApp.Controllers.HomeController.Index()
MyApp.Areas.Blog.Controllers.HomeController.Index()
- donde MyApp.Areas.Blog.Controllers.HomeController
tiene un atributo [Area("Blog")]
de área .Por Values ejemplo: { "action": "Index", "controller": "Home" }
MyApp.Controllers.HomeController.Index()
se seleccionará.
MyApp.Area.Blog.Controllers.HomeController.Index()
no se considera apto porque Values no contiene el valor "Blog" para "area".
Por Values ejemplo: { "area": "Blog", "action": "Index", "controller": "Home" }
MyApp.Area.Blog.Controllers.HomeController.Index()
se seleccionará.
MyApp.Controllers.HomeController.Index()
no se considera apto porque los valores de ruta contienen un valor para "area".
MyApp.Controllers.HomeController.Index()
no puede coincidir con ningún valor de 'area' distinto null
de .
Propiedades
RouteKey |
Clave de valor de ruta. |
RouteValue |
Valor de ruta. Si |