0
私はMVCアプリケーションを持っています。MVC、別のビューにリダイレクトされている間に、一時的に(5秒間)メッセージを表示する方法
私は部分的なビュー_BをレンダリングするビューAを持っています。 ビューAではない部分図_Bを表示する際に定義し、ロジックを持っています
@if (!(bool)ViewData["PasswordChanged"])
{
<div style="margin-top:20px;">
<div>
@Html.Partial("~/Views/_B.cshtml");
</div>
</div>
}
else
{
<div id="redirect" style="margin-top:20px;">
<div style="color:green;">
@ViewBag.Message
</div>
<div>
Please wait while you are redirected...
</div>
</div>
私は5秒間div
をリダイレクト表示するために私を助けた後、メインページにリダイレクトされます解決策を探していますView
。
以下は、フォーム送信時に呼び出されるメソッドです。この方法では、おそらく、私のwithRedirect
フラグが真のときに何らかの種類の論理を持つ必要があります。現在、MainPage
にリダイレクトしていますが、Redirection Success
メッセージを5秒間表示する必要があります。表示する際に、
if (withRedirect)
{
return View("ViewA");
}
とビューAで:私は、コントローラ内MVC
フォームを送信するために、AJAXを使用してください。あなたは素敵なユーザーエクスペリエンスを与えながら、javascriptを使って素敵なメッセージを表示でき、 'setTimeout'を使って5秒後にリダイレクトすることができます – Shyju
JavaScriptを使ってタイマーを実行し、リダイレクト' window.location = url'を実行するだけです。ページロードイベントでこれを行うことができます。 – Jasen
私は上記に同意し、jsを使ってリダイレクトを処理します。あなたはajax経由でフォームを投稿し、成功からリダイレクト(Shyjuが言っているように)するか、通常のフォーム投稿を行うことができます。そして、5sのリターンページが表示され、そのページのjsを使ってリダイレクトされます。 – nurdyguy