TempData有效,但延迟了一个请求

我使用TempData在Post之后使用重定向传送消息。 控制器如下所示设置tempdata:

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

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

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

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

我怎样才能让我的TempData显示在我重定向到的页面上?


你需要使用

TempData.Keep(key);

当你这样做时:

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

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

链接地址: http://www.djcxy.com/p/74431.html

上一篇: TempData works, but is delayed by one request

下一篇: TempData Not Being Cleared