2011-07-19 76 views
0

我試圖用JQueryUI對話框替換標準的JavaScript確認函數。我尋找解決方案,但似乎沒有爲我工作。我想要的很簡單:點擊一個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

jQuery的對話框不會阻止JavaScript執行。所以每次showDialog函數都會返回false值,並且服務器端事件沒有被觸發。 –

+0

將DeleteSetup放入「Yes」函數回調中。 – Xnake

回答

5

試着改變你的OnClientClick聲明此

OnClientClick="return showDialog();"

+0

我按照建議更改了OnClientClick,但這沒有幫助。該對話框出現,但處理繼續,OnClick事件觸發(即使對話框聲明爲模態)。我敢肯定,我無法完成這項工作的原因是我缺乏理解(儘管我已經嘗試過)。我只想讓這個對話框的行爲像標準的javascript確認功能一樣。怎麼樣?謝謝。 – rht341