私が取り組んでいるプロジェクトの動的な役割ベースのナビゲーション ソリューションを作成する方法を考え出そうとしています。
ナビゲーションには、ユーザーの役割に関連するリンクのみを表示する必要があります。たとえば、管理者には、アプリケーションの統計情報を表示したり、顧客アカウントを管理したりするためのリンクがありますが、標準ユーザーには、アカウントを管理したり、友人と通信したりするためのリンクがあります。など..
現在、 Navigationという名前の部分ビューが 1 つあり、ロール チェック用のいくつかの基本的な条件文と、適切なリンクを表示するためのマークアップが混在しています。これは機能しますが、すぐに管理不能になる可能性があることはわかっています。
ナビゲーション部分図:
@if(User.IsInRole("Admin")) {
<li><a href="#">Statistics</a></li>
<li><a href="#">Accounts</a></li>
<li><a href="#">Dashboard</a></li>
}
@if(User.IsInRole("User")) {
<li><a href="#">Account</a></li>
<li><a href="#">Friends</a></li>
}
// code omitted
このロジックをビューから取り出して、コントローラーにこれを処理させる方法はありますか?