1

我有一个向用户显示简单消息的布局页面。

我有一个带有显示人员列表的索引操作/视图的人员控制器,并且我有一个人员的编辑操作/视图。

当用户成功更新并保存一个人的详细信息时,我想从 Edit 操作重定向到 Index 页面,但显示一条消息,例如“该人已成功更新”。

我已经尝试向 ViewBag 添加东西,但它并没有持续存在。我有一个 ViewModel 基类,但不知道是否/如何从编辑操作中设置索引的 ViewModel。

在从不同位置传递消息以在 _Layout 中使用的情况下,如何实现这一点?

4

1 回答 1

2

您可以使用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(控制器扩展等)的完整通知系统,但这是最简单的方法。

于 2012-11-22T01:33:31.380 回答