IRouteValueProvider 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
中繼資料介面,指定動作選取器選擇動作所需的路由值。 使用屬性路由套用至動作時,系統會在選取動作時將路由值新增至 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 哪些 IRouteValueProvider 實作) ,則所有動作都會在區域中考慮,方法是將非 null
區域值 AreaAttribute (指定或另一個 IRouteValueProvider) ,或藉由具有 值 null
將區域視為「外部」。
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()
不符合資格, Values 因為 不包含 'area' 的值 'Blog'。
例如 Values : { 「area」: 「Blog」, 「action」: 「Index」, 「controller」: 「Home」 }
MyApp.Area.Blog.Controllers.HomeController.Index()
將會選取 。
MyApp.Controllers.HomeController.Index()
不符合資格,因為路由值包含 'area' 的值。
MyApp.Controllers.HomeController.Index()
無法比對 'area' 以外的 null
任何值。
屬性
RouteKey |
路由值索引鍵。 |
RouteValue |
路由值。 如果 |