IRouteValueProvider Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine Metadatenschnittstelle, die einen Routenwert angibt, der erforderlich ist, damit die Aktionsauswahl eine Aktion auswählen kann. Wenn er auf eine Aktion mithilfe des Attributroutings angewendet wird, wird der Routenwert hinzugefügt Values , wenn die Aktion ausgewählt ist.
Wenn ein IRouteValueProvider verwendet wird, um einen neuen Routenwert für eine Aktion bereitzustellen, müssen alle Aktionen in der Anwendung auch über einen Diesem Schlüssel zugeordneten Wert oder über einen impliziten Wert von null
verfügen. Weitere Informationen finden Sie in den Hinweisen.
public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
- Abgeleitet
Hinweise
Das typische Schema für die Aktionsauswahl in einer MVC-Anwendung ist, dass eine Aktion die übereinstimmenden Werte für ihre ControllerName und benötigt. ActionName
MyApp.Controllers.HomeController.Index()
muss , um ausgewählt zu werden, die Values Werte { "action": "Index", "controller": "Home" } enthalten.Wenn Bereiche in der Anwendung verwendet werden (siehe AreaAttribute , die implementiert IRouteValueProvider), werden alle Aktionen entweder in einem Bereich berücksichtigt, indem sie einen Nicht-Bereich-Wertnull
(angegeben durch AreaAttribute oder einen anderen IRouteValueProvider) haben, oder werden als "außerhalb" von Bereichen betrachtet, indem sie den -Wert null
haben.
Index
Aktionsmethode vor: - MyApp.Controllers.HomeController.Index()
MyApp.Areas.Blog.Controllers.HomeController.Index()
- wobei MyApp.Areas.Blog.Controllers.HomeController
ein Bereichsattribut [Area("Blog")]
aufweist.For Values like: { "action": "Index", "controller": "Home" }
MyApp.Controllers.HomeController.Index()
wird ausgewählt.
MyApp.Area.Blog.Controllers.HomeController.Index()
gilt nicht als berechtigt, da der Values nicht den Wert "Blog" für "Area" enthält.
Für Values like: { "area": "Blog", "action": "Index", "controller": "Home" }
MyApp.Area.Blog.Controllers.HomeController.Index()
wird ausgewählt.
MyApp.Controllers.HomeController.Index()
gilt nicht als berechtigt, da die Routenwerte einen Wert für "Area" enthalten.
MyApp.Controllers.HomeController.Index()
kann nicht mit einem anderen Wert für "area" als null
übereinstimmen.
Eigenschaften
RouteKey |
Der Routenwertschlüssel. |
RouteValue |
Der Routenwert. Wenn |