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の両方をヒットしました。
問題は次のとおりです。多くの場合、メッセージはすぐには表示されません。メッセージが表示されるまでに、サイトのさまざまな部分に1、2回クリックする必要がある場合があります。とても不思議です。
何か案は?