Я использую временные данные, как указано в моих контроллерах - очень просто, когда есть проблема:
TempData("StatusMessage") = "You have no items set to Auto-Ship."
Тогда на каждой странице у меня есть пользовательский элемент управления следующим образом:
<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>
Проблема в том, что когда у меня действительно есть ошибка, добавленная к временным данным, она правильно отображается при первом запросе, но ТАКЖЕ снова появляется и при следующем запросе - что, очевидно, очень запутанно и нежелательно.
Я не использую IoC, я видел сообщение с такими же проблемами при его использовании.