0

このビューの処理を続行する前に、前のビューに追加のデータを入力する必要があることをユーザーに警告するJavascriptタイプのポップアップを表示して、実際にユーザーをそのビューにリダイレクトしたいと思います。

現時点で私のコードは次のとおりです:-

        if (viewModel.compData.GG != "")
            CalcGradingPoints();
        else
        {
            Response.Write(@"<script language='javascript'>alert('You have to Select a Grading before doing this calculation');</script>");
            return RedirectToAction("Index", "Grading");
        }

        return View(viewModel);

正しくリダイレ​​クトされていますが、エラーメッセージが表示されないため、ユーザーにとっては、最初のビューでスタックしていて移動していないように見えます。

エラーメッセージを表示し、ユーザーがメッセージをクリックしてリダイレクトすることでメッセージを見たことを確認できるようにするにはどうすればよいですか?

あなたの助けと時間をありがとう

4

4 に答える 4

1

関数を使用する必要がありconfirm()ます: http://www.javascripter.net/faq/confirm.htm

利用方法 :

if (confirm("Your question")) { 
 window.location = "http://www.google.com/" //redirect HERE
}
于 2012-10-22T09:14:03.543 に答える
0

実は簡単な方法があると思いました。私は別のアプローチを取り、最初のビューのすべてをデフォルト値に設定して、2番目のビューが空白になることはないようにしました。

ご協力いただきありがとうございます

于 2012-10-22T11:33:08.763 に答える
0

ACTION メソッドでアラートを実行して、同じことを通知できます

于 2012-10-22T09:30:49.003 に答える
0

RedirectToActionは 302 HTTP リダイレクトですResponse.Write。私も同じシナリオを持っていて、メッセージを表示してからユーザーをリダイレクトするロジック別のビューを作成しました。私のモデルには、タイトル、メッセージ、コントローラー、アクションなどが含まれています。次に、ビューを埋めて、でリンクを作成し@Url.Actionます。

メタ例:

<meta http-equiv="REFRESH" content="0;url=http://www.your-link.com">

content="0; は、ブラウザがリダイレクトするまで待機する秒数に変更できます。

于 2012-10-22T09:27:13.510 に答える