私は2つの領域を持つプロジェクトを持っています。この 2 つの領域では、コントローラーやビューを共有しないさまざまなメンバー タイプ (生徒と教師など) が使用できます。ただし、どちらも連絡先ページやサポート ページなどのルート コントローラーを共有しています。
現在、名前空間を使用して各エリア内をルーティングしています。
私はこのようなことをしたいのですが、競合するコントローラーがないように名前空間を優先します。
context.MapRoute(
"Student_Default",
"{controller}/{action}/{id}",
new { area = "Student", controller = "Home", action = "Index", id = UrlParameter.Optional },
new { RoleConstraint = new AuthenticationConstraint() },
new[] { "Test.Web.Areas.Student.Controllers", "Test.Web.Controllers" }
);
または、「UseNamespaceFallback」を使用してみましたが、不要なすべての領域で検索が行われます。
私が試していないことは、ユーザーがログオンしたときに領域を登録することだけです。これは受け入れられるアプローチでしょうか?
また、各ページをマップすることもできますが、多くの可能性があり、それぞれを行うのは面倒です。
問題は、ルート コントローラーを両方のエリアで使用できるようにするにはどうすればよいでしょうか。さらに情報が必要な場合はお知らせください。私がやろうとしていることについて詳しく教えていただければ幸いです。