質問

それは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が有効である必要があります。

あなたはいつもより高度な機能を持っており、ジェネリック型を構築する方法を理解カスタムコントローラの工場を書くことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top