我有一个向用户显示简单消息的布局页面。
我有一个带有显示人员列表的索引操作/视图的人员控制器,并且我有一个人员的编辑操作/视图。
当用户成功更新并保存一个人的详细信息时,我想从 Edit 操作重定向到 Index 页面,但显示一条消息,例如“该人已成功更新”。
我已经尝试向 ViewBag 添加东西,但它并没有持续存在。我有一个 ViewModel 基类,但不知道是否/如何从编辑操作中设置索引的 ViewModel。
在从不同位置传递消息以在 _Layout 中使用的情况下,如何实现这一点?
我有一个向用户显示简单消息的布局页面。
我有一个带有显示人员列表的索引操作/视图的人员控制器,并且我有一个人员的编辑操作/视图。
当用户成功更新并保存一个人的详细信息时,我想从 Edit 操作重定向到 Index 页面,但显示一条消息,例如“该人已成功更新”。
我已经尝试向 ViewBag 添加东西,但它并没有持续存在。我有一个 ViewModel 基类,但不知道是否/如何从编辑操作中设置索引的 ViewModel。
在从不同位置传递消息以在 _Layout 中使用的情况下,如何实现这一点?
您可以使用TempData来完成此操作。存储在 TempData 中的值只会在一个 Http 请求中持续存在,因此非常适合存储这些类型的消息。
编辑 POST 操作
[HttpPost]
public ActionResult Edit(EditPersonModel model)
{
// .. Your code to edit the person ..
TempData["message"] = "The person has been updated.";
return RedirectToAction("Index", "People");
}
你的看法
@if (TempData["message"] != null)
{
<p>@TempData["message"]</p> // Displays the message
}
您可以构建一个使用 TempData 和 ViewData(控制器扩展等)的完整通知系统,但这是最简单的方法。