我正在開發一個ASP.NET MVC應用程序。我有幾個依賴於相同數據的觀點。出於這個原因,在我的控制器中,我想我會創建一個共享函數來填充ViewBag。目前,我嘗試以下:在ASP.NET MVC中加載ViewBag
public async Task<ActionResult> Create()
{
await LoadViewBag();
return View();
}
public async Task<ActionResult> Edit(int id)
{
await LoadViewBag();
return View();
}
private async Task<bool> LoadViewBag()
{
ViewBag.PossibleTypes = await MyType.GetAllFromDatabase();
ViewBag.PossibleContacts = await Contact.GetAllFromDatabase();
ViewBag.InvitedBy = GetFullName();
return true;
}
在我看來,我則有:
@Html.Raw(ViewBag.InvitedBy)
不幸的是,投入InvitedBy值在視圖中從未顯示。我設置了一個斷點,它看起來像正確設置。我究竟做錯了什麼?
哪裏是你的斷點?你能發表你的觀點嗎? – Floremin 2014-09-30 16:50:24
如果您在各自的「ActionResult」中設置「ViewBag.InvitedBy」的值而不是共享函數,會發生什麼情況?它是否顯示在視圖上? – 2014-09-30 16:50:36
確保您使用的是ASP.NET 4.5,並在'app.config'中將'httpRuntime.targetFramework'設置爲'4.5'。 – 2014-09-30 17:02:47