IRouteValueProvider Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Rozhraní metadat, které určuje hodnotu trasy, která se vyžaduje pro výběr akce. Při použití akce pomocí směrování atributů se hodnota trasy přidá do Values akce při výběru akce.
Pokud se používá IRouteValueProvider k poskytnutí nové hodnoty trasy pro akci, musí mít všechny akce v aplikaci také hodnotu přidruženou k danému klíči nebo implicitní hodnotu null
. Další podrobnosti najdete v poznámkách.
public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
- Odvozené
Poznámky
Typické schéma pro výběr akce v aplikaci MVC je, že akce bude vyžadovat odpovídající hodnoty pro a ControllerNameActionName
MyApp.Controllers.HomeController.Index()
je , aby byla vybrána, Values musí obsahovat hodnoty { "action": "Index", "controller": "Home" }Pokud se v aplikaci používají oblasti (viz které implementaceIRouteValueProvider), pak se všechny akce zvažují buď v oblasti s hodnotou mimonull
oblast (určenou hodnotou nebo jinou AreaAttributeIRouteValueProvider), nebo se považují za "mimo" oblasti s hodnotou null
.AreaAttribute
Index
akce: – MyApp.Controllers.HomeController.Index()
MyApp.Areas.Blog.Controllers.HomeController.Index()
- kde MyApp.Areas.Blog.Controllers.HomeController
má atribut [Area("Blog")]
area .Pro Values like: { "action": "Index", "controller": "Home" }
MyApp.Controllers.HomeController.Index()
bude vybrána.
MyApp.Area.Blog.Controllers.HomeController.Index()
se nepovažuje za způsobilé, protože Values neobsahuje hodnotu Blog pro oblast.
Pro Values like: { "area": "Blog", "action": "Index", "controller": "Home" }
MyApp.Area.Blog.Controllers.HomeController.Index()
bude vybrána.
MyApp.Controllers.HomeController.Index()
se nepovažuje za způsobilé, protože hodnoty trasy obsahují hodnotu pro "oblast".
MyApp.Controllers.HomeController.Index()
nemůže odpovídat žádné jiné hodnotě pro "oblast" než null
.
Vlastnosti
RouteKey |
Klíč hodnoty trasy. |
RouteValue |
Hodnota trasy. Pokud |