TempData未在View中显示

时间:2014-07-09 13:42:24

标签: asp.net-mvc tempdata

在MVC4项目上工作,我有一个列出一些记录的View。它有一个特定的div来显示默认隐藏的邮件,因为TempData["Feedback"]为空:

<a href="../MasterData/DeleteConcession">Delete</a>
...
@if (TempData["Feedback"] != null)
{
    <div class="success-centered">
        @TempData["Feedback"]
    </div>
}

在控制器中,我有一种删除记录的方法。

...
    if (rt.totalErrors == "0")
    {
        TempData["Feedback"] = "Record deleted";
    }
    else
    {
        TempData["Feedback"] = rt.resultDescription;
    }
}
return Redirect("../MasterData/Index");

实际上删除了记录并刷新了数据网格(已经没有删除的记录)但是包含div的{​​{1}}没有显示。

注意:如果用户刷新页面,则会显示。

为什么删除记录后没有显示TempData

修改

  1. 请注意,该链接位于部分视图中:这是否与此问题相关?
  2. 是否有替代方案(在这种情况下)显示TempData以外的反馈消息?也许一个弹出窗口或什么?我正在考虑其他方法,因为它看起来很奇怪,其他人似乎同意这很奇怪。
  3. 另外,为了更好地说明发生了什么:
    • 有一个数据网格,我选择一个项目并按链接div; 它删除记录并刷新数据网格。 Delete 没有显示。如果我刷新页面,Tempdata会显示!如果我 再次刷新,它消失了。
    • 因此,删除后应显示TempData,之后刷新页面时会消失。

1 个答案:

答案 0 :(得分:0)

看来你已经做好了一切,只是为了验证在视图中设置断点

@if (TempData["Feedback"] != null)
{
<div class="success-centered">
    @TempData["Feedback"]
 </div>

@TempData [&#34; Feedback&#34;]是否包含值。

在这种情况下,您可以查看viewData [&#34;&#34;]。

一定会有所帮助。