4

我正在使用 TempData 在 Post 后通过 Redirect 携带消息。控制器设置临时数据,如下所示:

TempData["message"]="foo";
return RedirectToAction("Index");

在 _Layout.cshtml 中,我有以下片段:

@{var temp = TempData["message"] as string; }
@if ( temp != null)
{
     <div class="message">@temp</div>
}

我现在的问题是,重定向后,没有显示消息。但是,在重定向之后的请求(刷新或任何其他页面)上,将显示该消息。显示后,它会按预期从会话中删除。

如何让我的 TempData 显示在我重定向到的页面上?

4

2 回答 2

1

你需要使用

TempData.Keep(key);
于 2012-04-19T11:22:30.787 回答
0

当你这样做时:

TempData["message"] = "foo";
return RedirectToAction("Index");

当您重定向到的索引页面呈现其视图时,将显示该消息。

于 2011-11-23T15:34:14.607 回答