Sdílet prostřednictvím


IRouteValueProvider Rozhraní

Definice

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

Pro akci, jako 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

Zvažte aplikaci se dvěma kontrolery, z nichž každý má metodu 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 null je hodnota nebo je prázdná, vyžaduje, aby chyběla hodnota trasy přidružená RouteKey k nebo null.

Platí pro