다음을 통해 공유


IRouteValueProvider 인터페이스

정의

작업 선택기가 작업을 선택하는 데 필요한 경로 값을 지정하는 메타데이터 인터페이스입니다. 특성 라우팅을 사용하여 작업에 적용하면 작업이 선택되면 경로 값이 에 추가 Values 됩니다.

IRouteValueProvider 를 사용하여 작업에 새 경로 값을 제공하는 경우 애플리케이션의 모든 작업에는 해당 키와 연결된 값이 있거나 암시적 값null이 있어야 합니다. 자세한 내용은 설명을 참조하세요.

public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
파생

설명

MVC 애플리케이션에서 작업 선택에 대한 일반적인 체계는 작업에 및 에 대한 일치 값이 필요하다는 ControllerName 것입니다. ActionName

와 같은 MyApp.Controllers.HomeController.Index()작업의 경우 를 선택 Values 하려면 에 { "action": "Index", "controller": "Home" } 값이 포함되어야 합니다.

애플리케이션에서 영역을 사용하는 경우(구현 참조AreaAttribute) 모든 작업은 영역 값이 아닌null 값(또는 다른 IRouteValueProvider에 의해 지정됨AreaAttribute)을 사용하여 영역에서 고려되거나 값을 null사용하여 영역의 '외부'로 IRouteValueProvider간주됩니다.

각각 작업 메서드가 있는 두 개의 컨트롤러가 있는 애플리케이션을 Index 고려합니다MyApp.Controllers.HomeController.Index()MyApp.Areas.Blog.Controllers.HomeController.Index() - . 여기서 MyApp.Areas.Blog.Controllers.HomeController 에는 영역 특성[Area("Blog")]이 있습니다.

Values : { "action": "Index", "controller": "Home" }

MyApp.Controllers.HomeController.Index() 가 선택됩니다. MyApp.Area.Blog.Controllers.HomeController.Index() 는 'area'에 대한 'Blog' 값을 포함하지 않으므로 적격 Values 으로 간주되지 않습니다.

Values : { "area": "Blog", "action": "Index", "controller": "Home" }

MyApp.Area.Blog.Controllers.HomeController.Index() 가 선택됩니다. MyApp.Controllers.HomeController.Index() 는 경로 값에 'area'에 대한 값이 포함되어 있으므로 적격으로 간주되지 않습니다. MyApp.Controllers.HomeController.Index() 이 아닌 null'area'의 값과 일치할 수 없습니다.

속성

RouteKey

경로 값 키입니다.

RouteValue

경로 값입니다. 또는 비어 있는 경우 null 와 연결된 RouteKey 경로 값이 없거나 null이어야 합니다.

적용 대상