MVC 4 / Entity Webプロジェクトをラップに落としたことがありますが、これまで使用したことはありません。私はそれを乗り越えていますが、単純なことが本当に私をつまずかせています-データベースのパラメータに基づいてレイアウト内のリンクを非表示にしたり表示したりするようなものです。
HomeControllerで、人がマネージャーかスーパーユーザーかを示すためにViewBagに2つのboolを設定する関数を作成しました。私はその関数を使用して呼び出します
@Html.Action("SetupViewBag", "Home")
<body>
これは私のレイアウトのタグの直後にあります。SetupViewBagのコードは次のとおりです。
public void SetupViewBag()
{
ViewBag.IsManager = ADAccess.IsManager(SessionManager.GetUserName());
ViewBag.IsSuper = SessionManager.SuperUser();
}
ブレークポイントを設定すると、boolは適切かつ正しい順序で設定されますが、以下のコードを使用してboolにアクセスしようとすると、null不可能な値型であるため、「nullを「bool」に変換できません」というメッセージが表示されます。 '
@{
if((bool)@ViewBag.IsManager){
<li>@Html.ActionLink("Management", "Management", "Home",null, new { id = "managementLink" })</li>
}
}
私が見逃している本当に単純なものがなければなりません。どんな助けでも大歓迎です。