私はASP.NET MVC3アプリケーションでルートを使用して遊べようとしており、マッピングコードの一部を減らそうとしています。私は、私たちに共通のUserController/Viewを使って、さまざまなエンティティ間でアプリケーションを試しています。たとえば、店舗や企業があり、それぞれに独自のユーザーセットがあります。次の2つのルートを減らす方法はありますか?ASP.NET MVC3ルートマッピングの削減ヘルプ
routes.MapRoute(
"StoreUsers", // Route name
"Store/Details/{entityID}/User/Index", // URL with parameters
new { controller = "User", action = "StoreIndex"} // Parameter defaults
);
routes.MapRoute(
"CompanyUsers", // Route name
"Company/Details/{entityID}/User/Index", // URL with parameters
new { controller = "User", action = "CompanyIndex"} // Parameter defaults
);
これに似たものには何か?
routes.MapRoute(
"EntityUsers", // Route name
"{entity}/Details/{entityID}/User/Index", // URL with parameters
new { controller = "User", action = entity + "Index"} // Parameter defaults
new { entity = "(Store|Company)" } //Parameter constraints
);
及び{アクション}パラメーター(および{アクション}デフォルト)に設定されている:それは制約と一致するエンティティのエンティティのために使用することができるように、{エンティティ} +「インデックス」。
私はここに1に2つのルートを削減していますが、私の本当の問題は、単にこれら2つのエンティティ、より多くを必要とする、と私はこれが仕事を得ることができれば、私は同じ機能を模倣する必要があり、他のコントローラのためにこれを使用することができますし、他のアクションも(作成、編集など)。
おかげ