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)、すべてのアクションは、エリアnull
以外の値 (または 別IRouteValueProviderの で指定) を持つことによってエリア内で考慮されるか、 値null
を持つことによってAreaAttributeエリアの "外側" と見なIRouteValueProviderされます。
Index
考えてみましょう。 にはMyApp.Areas.Blog.Controllers.HomeController.Index()
MyApp.Areas.Blog.Controllers.HomeController
MyApp.Controllers.HomeController.Index()
- area 属性 [Area("Blog")]
があります。like Values : { "action": "Index", "controller": "Home" }
MyApp.Controllers.HomeController.Index()
が選択されます。
MyApp.Area.Blog.Controllers.HomeController.Index()
には 'area' の値 'Blog' が含まれていないため Values 、対象とは見なされません。
like Values : { "area": "Blog", "action": "Index", "controller": "Home" }
MyApp.Area.Blog.Controllers.HomeController.Index()
が選択されます。
MyApp.Controllers.HomeController.Index()
は、ルート値に 'area' の値が含まれているため、対象とは見なされません。
MyApp.Controllers.HomeController.Index()
以外の 'area' null
の値と一致することはできません。
Route |
ルート値キー。 |
Route |
ルート値。 または 空の場合 |