IRouteValueProvider Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Interfejs metadanych określający wartość trasy, która jest wymagana do wybrania akcji przez selektor akcji. Po zastosowaniu do akcji przy użyciu routingu atrybutów wartość trasy zostanie dodana do Values wartości po wybraniu akcji.
Jeśli element IRouteValueProvider jest używany do podawania nowej wartości trasy do akcji, wszystkie akcje w aplikacji muszą również mieć wartość skojarzona z tym kluczem lub mieć niejawną wartość null
. Zobacz uwagi, aby uzyskać więcej szczegółów.
public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
- Pochodne
Uwagi
Typowy schemat wyboru akcji w aplikacji MVC polega na tym, że akcja będzie wymagała dopasowania wartości dla elementu ControllerName i ActionName
MyApp.Controllers.HomeController.Index()
przykład , Values element musi zawierać wartości { "action": "Index", "controller": "Home" }Jeśli obszary są używane w aplikacji (zobacz AreaAttribute , które implementuje IRouteValueProvider), wszystkie akcje są brane pod uwagę w obszarze, mając wartość nieobsadowąnull
(określoną przez AreaAttribute lub inną IRouteValueProvider) lub są uznawane za "poza" obszarami, mając wartość null
.
Index
akcji: — MyApp.Controllers.HomeController.Index()
MyApp.Areas.Blog.Controllers.HomeController.Index()
- gdzie MyApp.Areas.Blog.Controllers.HomeController
ma atrybut [Area("Blog")]
area .Dla Values takich jak: { "action": "Index", "controller": "Home" }
MyApp.Controllers.HomeController.Index()
zostanie wybrana.
MyApp.Area.Blog.Controllers.HomeController.Index()
nie jest uznawany za uprawniony, ponieważ Values wartość "Blog" dla "area" nie zawiera.
Na Values przykład: { "area": "Blog", "action": "Index", "controller": "Home" }
MyApp.Area.Blog.Controllers.HomeController.Index()
zostanie wybrana.
MyApp.Controllers.HomeController.Index()
nie jest uznawany za uprawniony, ponieważ wartości trasy zawierają wartość "area".
MyApp.Controllers.HomeController.Index()
program nie może odpowiadać żadnej wartości dla wartości "area" innej niż null
.
Właściwości
RouteKey |
Klucz wartości trasy. |
RouteValue |
Wartość trasy. Jeśli |