0

ページがリダイレクトされないようにする方法を誰かが知っているかどうか疑問に思いましたか?ページが離れるときにイベントをキャプチャしてから、コードビハインドを実行したいと思います。コードビハインドが特定の基準を満たしている場合は、リダイレクトを許可します。それ以外の場合はキャンセルします。これのいくつかはJavacriptで達成できることを私は知っていますが、私が抱えている問題は実際にリダイレクトを停止することです。これが私が持っているものです:

JavaScript:

<script type="text/javascript">
   window.onbeforeunload = confirmExit;

   function clickButton(getId) {
            var getBtn = document.getElementById(getId)
            getBtn.click()
        } 

   function confirmExit(e) {
       var btnId = document.getElementById("<%=btnConfirmExit.ClientId %>").id
       clickButton(btnId)
    }
 </script>  

背後にあるコード:

Protected Sub btnConfirmExit_click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConfirmExit.Click
    'if something, cancel request

    'else
     ' let it go
end Sub

使用してみた場合:

Page.Response.End()

しかし、これは何もしません。誰かアイデアはありますか?

ありがとう

4

1 に答える 1

0

従来のpostBacksを使用している場合、ブラウザはすでに新しいページの要求とリッスンを開始しており、「気にしない」HTTP応答はありません。状況によっては、これを一部のブラウザで動作させることができたとしても、一貫性がなく、信頼性が低くなります。

この検証/処理サーバー側を実行する必要がある場合は、AJAXリクエストの使用を検討したいと思います。

私はそれらのファンではありませんが、最悪の場合、ダウンして汚れていて、多くのコードを変更せずに、更新パネルを使用できます。ここでそれについて読んでください:

新しい情報: http: //msdn.microsoft.com/en-us/library/bb398864 (v = vs.100).aspx

古いリンクですが、概要は素晴らしいです: http ://www.asp.net/ajax/documentation/live/overview/updatepaneloverview.aspx

于 2013-03-04T16:04:57.580 に答える