我有一个跟随ActionResult
,controller
你可以看到我设置了一个消息,ViewBag
如果它成功.然后View
它应该输出该消息,如果它不是空的.但是,我无法显示消息,我没有看到问题所在.
[HttpPost] public ActionResult Create(FormCollection collection) { try { context.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityRole() { Name = collection["RoleName"] }); context.SaveChanges(); ViewBag.ResultMessage = "Role created successfully."; return RedirectToAction("Index"); } catch (Exception) { return View(); } }
这是我的Index.cshtml
@model IEnumerable@{ ViewBag.Title = "Index"; } Roles Listing
@ViewBag.ResultMessage @Html.ActionLink("Create New Role", "Create") | @Html.ActionLink("Manage User Role", "ManageUserRoles")
@foreach (var role in Model) { Role Action } @role.Name Delete | @Html.ActionLink("Edit", "Edit", new { roleName = @role.Name })
Senjuti Maha.. 7
ViewBag
有助于当你从移动以保持数据controller
来view
.短寿命意味着当重定向发生时,值变为空.这是因为他们的目标是提供一种在controllers
和之间进行通信的方式views
.它是服务器调用中的通信机制.
因为你正在使用RedirectToAction
,它到达时就ViewBag
变成null
了view
.
你可以使用TempData
这个:
TempData["ResultMessage"] = "Role created successfully.";
它Session
用作存储,但在第二次响应后不会存在.
TempData
当您从一个移动controller
到另一个controller
或从一个操作移动到其他操作时,有助于维护数据.换句话说,当您重定向时,Tempdata
有助于在这些重定向之间维护数据.它在内部使用会话变量.TempData
在当前和后续请求期间使用仅表示在您确定下一个请求将重定向到下一个视图时使用它.
有关此内容的更多信息,请参阅此链接
ViewBag
有助于当你从移动以保持数据controller
来view
.短寿命意味着当重定向发生时,值变为空.这是因为他们的目标是提供一种在controllers
和之间进行通信的方式views
.它是服务器调用中的通信机制.
因为你正在使用RedirectToAction
,它到达时就ViewBag
变成null
了view
.
你可以使用TempData
这个:
TempData["ResultMessage"] = "Role created successfully.";
它Session
用作存储,但在第二次响应后不会存在.
TempData
当您从一个移动controller
到另一个controller
或从一个操作移动到其他操作时,有助于维护数据.换句话说,当您重定向时,Tempdata
有助于在这些重定向之间维护数据.它在内部使用会话变量.TempData
在当前和后续请求期间使用仅表示在您确定下一个请求将重定向到下一个视图时使用它.
有关此内容的更多信息,请参阅此链接