我想調整AccountController類,以便它使用我自己的後端數據庫。爲了完全做到這一點,我需要發送一個字符串到_Layout.cshtml進行檢查。這怎麼可能?ASP.Net MVC 3從HTTP-POST方法發送字符串到_Layout.cshtml
我已經嘗試使用ViewData,但這需要控制器對應於附加的視圖,例如, AccountController查看/帳戶/ LogOn.cshtml將工作。
我相信ViewBag的工作方式與我在_Layout.cshtml中嘗試訪問它時得到空引用的方式相同。
目前我的代碼有點損壞,因爲試圖解決這個問題,但這裏是我的。希望這會有助於更好地解釋。
的AccountController/[HTTP-POST] LogOn支持
...
if (user.GetRole(model.UserName).Equals("Admin"))
{
ViewBag.Role = "Admin";
}
...
_Layout.cshtml
@if (Request.IsAuthenticated && ViewBag.Role.Equals("Admin"))
{
...
}
我不再認爲這是可以用ViewBag或ViewData的(由於意見)來完成。任何解決方案將受到歡迎。
預先感謝您 - 安口
你的問題是? –
上面的代碼不起作用,它會引發異常,基本上說ViewBag.Role不能被引用。 我想知道如何從一個控制器發送一個字符串到一個視圖,它也不直接鏈接。 – Ankou
不能被引用,或不能對空引用執行運行時綁定?如果你沒有設置'ViewBag.Role',如果用戶不是管理員,那麼它將不存在 –