IRouteValueProvider Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Uma interface de metadados que especifica um valor de rota que é necessário para o seletor de ação escolher uma ação. Quando aplicado a uma ação usando o roteamento de atributo, o valor da rota será adicionado ao Values quando a ação for selecionada.
Quando um IRouteValueProvider é usado para fornecer um novo valor de rota para uma ação, todas as ações no aplicativo também devem ter um valor associado a essa chave ou ter um valor implícito de null
. Confira comentários para obter mais detalhes.
public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
- Derivado
Comentários
O esquema típico para seleção de ação em um aplicativo MVC é que uma ação exigirá os valores correspondentes para seu ControllerName e ActionName
MyApp.Controllers.HomeController.Index()
, para ser selecionada, o Values deve conter os valores { "action": "Index", "controller": "Home" }Se as áreas estiverem em uso no aplicativo (veja AreaAttribute qual implementa ) todas as ações serão consideradas em uma área com um valor não-áreanull
(especificado por AreaAttribute ou outro IRouteValueProvider) ou são consideradas IRouteValueProvider'fora' das áreas por terem o valor null
.
Index
método de ação: - MyApp.Controllers.HomeController.Index()
MyApp.Areas.Blog.Controllers.HomeController.Index()
- em que MyApp.Areas.Blog.Controllers.HomeController
tem um atributo [Area("Blog")]
de área .Para Values like: { "action": "Index", "controller": "Home" }
MyApp.Controllers.HomeController.Index()
será selecionado.
MyApp.Area.Blog.Controllers.HomeController.Index()
não é considerado qualificado porque o Values não contém o valor 'Blog' para 'area'.
Para Values curtir: { "area": "Blog", "action": "Index", "controller": "Home" }
MyApp.Area.Blog.Controllers.HomeController.Index()
será selecionado.
MyApp.Controllers.HomeController.Index()
não é considerado qualificado porque os valores de rota contêm um valor para 'area'.
MyApp.Controllers.HomeController.Index()
não pode corresponder a nenhum valor para 'area' diferente de null
.
Propriedades
RouteKey |
A chave de valor de rota. |
RouteValue |
O valor da rota. Se |