MVC3プロジェクトで作業していて、RedirectToActionを使用しているときにメッセージを表示します。 ViewBagを使用しましたが、動作していません。RedirectToActionが使用されたときに成功メッセージを表示する方法
誰か助けてください。
MVC3プロジェクトで作業していて、RedirectToActionを使用しているときにメッセージを表示します。 ViewBagを使用しましたが、動作していません。RedirectToActionが使用されたときに成功メッセージを表示する方法
誰か助けてください。
あなたはあなたのビュー
@if (TempData["Success"] != null)
{
<p class="alert alert-success" id="successMessage">@TempData["Success"]</p>
}
にしてTempData
コントローラプロパティは、この種を達成するために使用することができます
TempData["Success"] = "Added Successfully!";
return RedirectToAction("actionname", "controllername");
成功の後、あなたのコントローラ内のメッセージに
を表示するためにTempDataをを使用することができますの機能欠点は、バックグラウンドでセッションストレージを使用することです。つまり、Webファームで機能させるために余分な作業をしたり、最初にセッションを有効にする必要があります。
また、ショートメッセージを送信する必要がある場合のみ、Cookieを使用できます。これを行うには、改ざんを防止するためにクッキーを適切に保護する必要があります。 MachineKey.Protect()
これを行うのを手助けすることができます。
私は同じ問題に直面し、FlashMessageというソリューションを作成しました。おそらく、これはあなたにいくつかの仕事を節約することができます。 NuGetでも入手できます。 FlashMessageを使用して
は簡単です。
@Html.RenderFlashMessages()
は、あなたがしようとしているものを表示:
あなたのビューで、任意の以前のメッセージをキューに入れレンダリングするには、次のステートメントを含める:あなたは、単に次のように
RedirectToAction()
を呼び出す前に、メッセージをキューに入れます。 –