我想基於我的控制器中的if/else條件爲我的viewbag創建動態屬性。 viewbag顯示的內容取決於我在控制器中的邏輯。在我看來,我嘗試用剃刀語法調用我的viewbag,但沒有呈現給頁面。MVC3 Razor - 在控制器和視圖中使用viewbag
[HttpPost]
public ActionResult EditUser(vw_UserManager_Model edituser)
{
UserManager.Models.vw_UserManager_Model model = edituser;
int outcome = 0;
outcome = UserManager.DAL.EditUser(model);
if (outcome == 1)
{
ViewBag.Message = "Successfully edited user" + model.UserName;
ViewBag.Description = "Look below for full details.";
//ViewData["Message"] = "Successfully edited user" + model.UserName;
return RedirectToAction("showSuccess", model);
}
else
{
ViewBag.Message = "Failure";
return RedirectToAction("showFailure", model);
}
}
#region successErrorHandling
public ActionResult showError(List<string> ErrorMessage)
{
ViewBag.ErrorMessage = ErrorMessage[0];
return View("ErrorMessageView");
}
public ActionResult showSuccess(vw_UserManager_Model model)
{
return View("SuccessMessageeView", model);
}
我爲viewbag,消息和描述設置了兩個屬性。如果成功或失敗,我會進行重定向。
@model UserManager.Models.vw_UserManager_Model
<h2>@ViewBag.Message</h2>
<br />
<h4>@ViewBag.Description</h4>
<h2>
SuccessMessageeView</h2>
<br />
User Created:
@using (Html.BeginForm())
{
<ul>
<li> <b>@Html.Label("Username: ")</b>@Model.UserName</li>
<li> <b>@Html.Label("Salutation: ")</b>@Model.salutation</li>
<li> <b>@Html.Label("Firstname: ")</b>@Model.firstname</li>
<li> <b>@Html.Label("Lastname: ")</b>@Model.lastname</li>
<li> <b>@Html.Label("Email: ")</b>@Model.email</li>
<li> <b>@Html.Label("Group name: ")</b>@Model.group_name</li>
<li> <b>@Html.Label("Is active: ")</b>@Model.isactive</li>
</ul>
}
在我看來,我然後調用我的viewbag,但它不呈現。我做錯了嗎?
您失去了重定向ViewBag的狀態。請發佈您的showSuccess和showFailure操作(以及您的視圖的名稱),以便我們可以提出解決方案。 – Hari
@哈里好吧我會編輯我的帖子。 –
我想我把viewbag放在錯誤的ActionResult方法中。 :( –