Aracılığıyla paylaş


IRouteValueProvider Arabirim

Tanım

Eylem seçicinin bir eylem seçmesi için gereken yol değerini belirten meta veri arabirimi. Öznitelik yönlendirme kullanılarak bir eyleme uygulandığında, eylem seçildiğinde yol değeri öğesine eklenir Values .

bir IRouteValueProvider eyleme yeni bir yol değeri sağlamak için kullanıldığında, uygulamadaki tüm eylemlerin de bu anahtarla ilişkilendirilmiş bir değeri veya örtük değerine nullsahip olması gerekir. Daha fazla ayrıntı için açıklamalara bakın.

public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
Türetilmiş

Açıklamalar

MVC uygulamasında eylem seçimi için tipik bir şema, bir eylemin ve için eşleşen değerleri gerektirmesidir ControllerNameActionName

gibi MyApp.Controllers.HomeController.Index()bir eylemin seçilebilmesi için , Values { "action": "Index", "controller": "Home" } değerlerini içermelidir

Uygulamada alanlar kullanılıyorsa (hangi uygulamaları uyguladığına bakınAreaAttribute) tüm eylemler bir alanda alan dışınull bir değere (veya başka IRouteValueProviderbir değerleAreaAttribute) sahip olarak değerlendirilir veya değerine nullsahip olarak alanların 'dışında' kabul edilir.IRouteValueProvider

Her birinde bir eylem yöntemi olan iki denetleyiciye sahip bir Index uygulama düşünün: - MyApp.Controllers.HomeController.Index() - MyApp.Areas.Blog.Controllers.HomeController.Index() burada MyApp.Areas.Blog.Controllers.HomeController bir alan özniteliğine [Area("Blog")]sahiptir.

Şunun gibi Values : { "action": "Index", "controller": "Home" }

MyApp.Controllers.HomeController.Index() seçilecektir. MyApp.Area.Blog.Controllers.HomeController.Index() , 'alan' için 'Blog' değerini içermediğinden uygun Values olarak kabul edilmez.

Örneğin Values : { "area": "Blog", "action": "Index", "controller": "Home" }

MyApp.Area.Blog.Controllers.HomeController.Index() seçilecektir. MyApp.Controllers.HomeController.Index() , yol değerleri 'alan' için bir değer içerdiğinden uygun olarak kabul edilmez. MyApp.Controllers.HomeController.Index() dışında nullbir 'alan' değeriyle eşleşemez.

Özellikler

RouteKey

Yol değeri anahtarı.

RouteValue

Yol değeri. veya boşsa null , ile RouteKey ilişkili yol değerinin eksik nullveya olmasını gerektirir.

Şunlara uygulanır