Sle*_*lee 9 asp.net-mvc tempdata
我在我的控制器中使用临时数据 - 非常简单,当出现问题时:
TempData("StatusMessage") = "You have no items set to Auto-Ship."
Run Code Online (Sandbox Code Playgroud)
然后在每个页面上我都有一个用户控件,如下所示:
<div class="error-container">
<% If TempData.ContainsKey("ErrorMessage") Then%>
<script> $('div.error-container').show();</script>
<div class="msg-error"><p><%=TempData("ErrorMessage") %></p></div>
<% End If%>
<% If TempData.ContainsKey("StatusMessage") Then%>
<script> $('div.error-container').show();</script>
<div class="msg-status"><p><%=TempData("StatusMessage")%></p></div>
<% End If%>
<ul></ul>
</div>
Run Code Online (Sandbox Code Playgroud)
问题是当我确实在tempdata中添加了一个错误时它在第一个请求中正确显示,但是在下一个请求时也会再次出现 - 这显然非常令人困惑而且不是一个理想的行为.
我没有使用任何IoC,我确实在使用它时看到了相同问题的帖子.
Cra*_*ntz 23
TempData 的唯一目的是持续到下一个请求.在下一个请求进入ViewData之前,您不希望持续存在.
实际上,这意味着TempData在重定向时只能安全使用.当不重定向时,"下一个请求"可以是任何东西.
归档时间: |
|
查看次数: |
12877 次 |
最近记录: |