2011-07-19 21 views
0

標準のjavascriptの確認関数をJQueryUIダイアログに置き換えようとしています。私は解決策を探しましたが、何も私のために働くようです。私が欲しいのは簡単です:ASP.Netボタンをクリックし、ダイアログを表示して、「はい」を押すと続行します。現在JavaScriptコード:ASP.NETでJQueryUIダイアログを使用する

$(document).ready(function() { 

     $("#confirmDialog").dialog({ 
      autoOpen: false, 
      modal: true, 
      closeOnEscape: false, 
      bgiframe: true, 
      open: function (event, ui) { $(".ui-dialog-titlebar-close", ui.dialog).hide() }, 
      buttons: { 
       "Yes": function() { 
        $(this).dialog('close'); 
        return true; 
       }, 
       "No": function() { 
        $(this).dialog('close'); 
        return false; 
       } 
      } 
     }); 
    }); 

    function showDialog() { 
     $("#confirmDialog").dialog('open'); 
     return false; 
    } 

ASP.NETコード:

  <asp:Button ID="DeleteButton" CssClass='button' onmouseout="this.className='button'" 
       onmouseover="this.className='button:hover'" runat='server' Text='Delete' Width='1in' 
       Height="30px" OnClientClick="javascript:showDialog();" OnClick="DeleteSetup"/> 

何が起こっているのダイアログが表示されていることですが、何がダイアログで選択される前に、DeleteSetup vb.netサブが呼び出されます。

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

+0

にごOnClientClick宣言を変更してみてください。したがって、毎回showDialog関数はfalse値を返し、サーバー側イベントは発生しませんでした。 –

+0

DeleteSetupを "Yes"関数コールバックの中に置きます。 – Xnake

答えて

5

は、jQueryのダイアログではJavaScriptの実行をブロックしません。この

OnClientClick="return showDialog();"

+0

私はOnClientClickを推奨どおりに変更しましたが、それは役に立ちませんでした。ダイアログは表示されますが、処理は続行され、OnClickイベントが発生します(ダイアログがモーダルであるとは限りません)。私はこの仕事をすることができない理由は私の理解の欠如(私は試したが)であると確信しています。私が望むのは、このダイアログが標準のjavascriptの確認関数のように動作することだけです。どうやって?ありがとう。 – rht341

関連する問題