一般的なコントローラとMapRoute
-
23-09-2019 - |
質問
それはMapRouteのルートをマップし、汎用コントローラー例えば
を指定することが可能です context.MapRoute(
"Dashboard_Edit", // Route name
"dashboard/edit/{*pagePath}",
new { controller = "Dashboard`1", action = "edit", pagePath = "home" }
);
解決
これは、残念ながら、デフォルトのコントローラの工場で許可されていません。タイプ「Dashboard`1は、」オープンジェネリック型のためのものであり、構築することができません。つまり、デフォルトのコントローラの工場で「コントローラ」のためにのみ許可される値は以下の擬似構文を合うことができるものであります:
IController c = new SomeControllerType();
(「コントローラ」の接尾辞または名前空間なしにかかわらず)、そしてそれはパラメータなしのコンストラクタを持っている必要があります。 SomeControllerType
が有効である必要があります。
あなたはいつもより高度な機能を持っており、ジェネリック型を構築する方法を理解カスタムコントローラの工場を書くことができます。
所属していません StackOverflow