8

私が取り組んでいるプロジェクトの動的な役割ベースのナビゲーション ソリューションを作成する方法を考え出そうとしています。

ナビゲーションには、ユーザーの役割に関連するリンクのみを表示する必要があります。たとえば、管理者には、アプリケーションの統計情報を表示したり、顧客アカウントを管理したりするためのリンクがありますが、標準ユーザーには、アカウントを管理したり、友人と通信したりするためのリンクがあります。など..

現在、 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

このロジックをビューから取り出して、コントローラーにこれを処理させる方法はありますか?

4

1 に答える 1