私は部分ビューを1つ持っています_Layoutこれはすべてのビューで使用され、各ビューは強く型付けされたビューです。 私のクエリは、ログインしている各ユーザーが部門に所属しており、特定の部門のユーザーがWebサイトにログインして他のすべてのユーザーのすべてのタブを表示しているときに、(一部のビューから)一部のタブを非表示にしたい。 私は、すべてのActionResultに部門名を取得するためにLINQクエリを置くViewBagに保存し、共有ビューで条件を入れて試してみました:私はViewBagを宣言し、すべてののActionResultにLINQクエリを行う必要があり、このため剃刀MVCプロジェクトのすべてのビューで使用されている部分ビューにLINQ条件を入れる方法は?
@if (ViewBag.Department == "CUSTOMER SUPPORT")
{
//View all the tabs
}
else
{
//Restricted tabs
}
ユーザーが共有ビューに表示されているタブから別のページに移動しても、タブを非表示にすることができます。
私はまた、モデルに部門名の値が保持されるように部分ビューを強く型付けしてみましたが、強く型付けされた別のビューに移動すると機能しません。
私は何らかの形で、部門名を格納する変数をグローバルに宣言し、すべてのActionResultで宣言する代わりに共有ビューを呼び出すことはできますか? 共有ビューでLINQを使用するような、コントローラなしの共有ビューでDepartmentの名前を直接取得していますか?
を使用してレイアウトビュー内から上記のアクションを呼び出すビューモデルを満たしていると上記のアクション(、表示するタブを決める)