Condividi tramite


IRouteValueProvider Interfaccia

Definizione

Interfaccia dei metadati che specifica un valore di route necessario per il selettore di azioni per scegliere un'azione. Quando viene applicata a un'azione usando il routing degli attributi, il valore della route verrà aggiunto a quando Values viene selezionata l'azione.

IRouteValueProvider Quando un oggetto viene usato per fornire un nuovo valore di route a un'azione, tutte le azioni nell'applicazione devono avere anche un valore associato a tale chiave o avere un valore implicito di null. Per altri dettagli, vedere le osservazioni.

public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
Derivato

Commenti

Lo schema tipico per la selezione di azioni in un'applicazione MVC è che un'azione richiederà i valori corrispondenti per il relativo ControllerName e ActionName

Per un'azione come MyApp.Controllers.HomeController.Index(), per poter essere selezionata, è Values necessario che contenga i valori { "action": "Index", "controller": "Home" }

Se le aree sono in uso nell'applicazione (vedere che implementa IRouteValueProvider), tutte le azioni vengono considerate in un'area con un valore non dinull area (specificato da AreaAttribute o un altro IRouteValueProvider) o sono considerate "esterne" di aree con il valore null.AreaAttribute

Si consideri un'applicazione con due controller, ognuno con un Index metodo di azione: - MyApp.Controllers.HomeController.Index()MyApp.Areas.Blog.Controllers.HomeController.Index() - dove MyApp.Areas.Blog.Controllers.HomeController ha un attributo [Area("Blog")]area .

Per Values like: { "action": "Index", "controller": "Home" }

MyApp.Controllers.HomeController.Index() verrà selezionata. MyApp.Area.Blog.Controllers.HomeController.Index() non è considerato idoneo perché non Values contiene il valore 'Blog' per 'area'.

Ad Values esempio: { "area": "Blog", "action": "Index", "controller": "Home" }

MyApp.Area.Blog.Controllers.HomeController.Index() verrà selezionata. MyApp.Controllers.HomeController.Index() non è considerato idoneo perché i valori della route contengono un valore per 'area'. MyApp.Controllers.HomeController.Index() non può corrispondere a alcun valore per 'area' diverso da null.

Proprietà

RouteKey

Chiave del valore di route.

RouteValue

Valore della route. Se null o vuoto, richiede che il valore di route associato RouteKey a sia mancante o null.

Si applica a