0

これは私の前の質問に続いています.ポップアップウィンドウを閉じるときに親ページをリロードする方法は?

私は物事の組み合わせを試みましたが、それを機能させることができませんでした。"yes" 、 "no" または x(to close) 、場合によっては..次のコードの場合のように..どのオプションをクリックしてもコードビハインドが実行されない..

      <asp:Button ID="btnAccept" runat="server" Text="Accept"  OnClientClick="return Refresh()" style="HEIGHT: 19px;background: #C0003B;color: white; " /> &nbsp;<asp:Button ID="btnReject" runat="server" Text="Reject" OnClientClick="Refresh()" style="HEIGHT: 19px;background: #C0003B;color: white;"/>


</div>
   <script type="text/javascript">

       function Refresh() {
           var myBoolean = new Boolean();
           myBoolean = confirm('Are you sure?');

           if (myBoolean) {

               window.onunload = refreshParent;

               function refreshParent() {    
                   window.opener.location.reload();
                   return true;
               }
           }
           else {return false;}
       }
</script>
4

3 に答える 3

1

これを見てください

function Refresh() {
    var confirmed = confirm('Are you sure?');

    if (confirmed) {
        window.onunload = refreshParent;
        return true;
    } else {
        return false;
    }
}

function refreshParent() {
    window.opener.location.reload();
}
于 2013-09-11T11:44:24.097 に答える
1

これを試して

   function Refresh() {
       var myBoolean = new Boolean();
       if (confirm('Are you sure?')) {

       window.onunload = refreshParent;
       function refreshParent() {

           window.opener.location.reload();
           return true;
       }
   }
       else {return false;}
   }

于 2013-09-11T11:40:03.323 に答える
0

サーバー側のボタンを使用しないでください。これらの要素は、サーバーでアクションを実行するためのものです。

それで、何を推測しますか?サーバーでアクションを実行するには、次のことが必要です。

  • ブラウザは POST リクエストを作成してフォームを送信します
  • サーバーはフォーム データを解析し、どのボタンが押されたかを識別します。
  • サーバーは、ボタンの登録済みイベント ハンドラーを呼び出します。

したがって、あなたの場合、クライアント側のボタンの onclick イベントをキャンセルします。またはもっと簡単に... 通常の HTML ボタンを使用するだけです。

<button id="btnAccept" onclick="Refresh()" style="HEIGHT: 19px;background: #C0003B;color: white; "> Accept </button>
于 2013-09-11T11:51:50.053 に答える