Я использую TempDate["Message"]
, чтобы показывать небольшие баннеры обновлений, когда пользователь делает на моем сайте такие вещи, как это:
[AcceptVerbs(HttpVerbs.Post), Authorize(Roles = "Admins")]
public ActionResult Delete(int id)
{
_Repo.DeletePage(id); // soft-delete
TempData["Message"] = "Page deleted!";
return RedirectToAction("Revisions", "Page", new { id = id });
}
Тогда на моей главной странице у меня есть это:
<%-- message box (show it only if it contains a message) --%>
<% string Message = (TempData["Message"] ?? ViewData["Message"]) as string;
if(!string.IsNullOrEmpty(Message)){
%>
<div id="message"><%:Message %></div>
<% }
TempData["Message"] = null; ViewData["Message"] = null; %>
Я ударил и TempData, и ViewData, потому что где-то читал, что TempData следует использовать для перенаправлений, а ViewData следует использовать в противном случае.
Проблема в том, что часто сообщение не появляется сразу. Иногда для отображения сообщения требуется один или два клика по разным частям сайта. Это очень странно
Есть идеи?