IRouteValueProvider Interfaz

Definición

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 Values cuando 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

Para una acción como 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 consideran en un área teniendo un valor de área distinto de NULL (especificado por AreaAttribute u otro IRouteValueProvider) o se consideran "fuera" de áreas teniendo el valor NULL.

Considere una aplicación con dos controladores, cada uno con un método de acción Index: - MyApp.Controllers.HomeController.Index() - MyApp.Areas.Blog.Controllers.HomeController.Index() donde MyApp.Areas.Blog.Controllers.HomeController tiene un atributo de área [Area("Blog")].

Por Values ejemplo: { "action": "Index", "controller": "Home" } Se seleccionará MyApp.Controllers.HomeController.Index(). 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 de NULL.

Propiedades

RouteKey

Clave de valor de ruta.

RouteValue

Valor de ruta. Si es null o está vacío, requiere el valor de ruta asociado RouteKey a que falta o null.

Se aplica a