2013-11-20 6 views
-2

Когда я нажимаю на кнопку, чтобы показать сообщение, я получаю один MessageBox, это нормально, но когда я вызываю JQuery Dialog для времени SCOND, я получаю два MessageBoxs! и когда я вызываю Jquery Dialog в третий раз, я получаю три MessageBoxs! Пожалуйста, помогите мне!JQuery Dialog с asp.net

Вот мой код:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
    <script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script> 
    <link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/start/jquery-ui.css" 
     rel="stylesheet" type="text/css" /> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("[id*=Call_Dialog]").click(function() { 

       $("#MyDiv").dialog({ 
        title: "jQuery Dialog Popup", 
        buttons: { 
         Close: function() { 
          $(this).dialog('close'); 
         } 
        } 
       }); 

       $("#ShowMessage").click(function() { 
        event.preventDefault(); 
        alert('Hi'); 
        $("#MyDiv").dialog('close'); 
       }) 
      }) 
     }); 
    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <div id="MyDiv" style="display: none"> 

<asp:Button ID="ShowMessage" runat="server" Text="Button" /> 

    </div> 



    </form> 
    <p> 
     <input id="Call_Dialog" type="button" value="button" /></p> 
</body> 
</html> 
+0

Вы '.dialog()' и '.click()' 'внутри $ ("[ID = Call_Dialog]") нажмите кнопку()' событие.. Это то, что вы хотели сделать? – erdinger

+0

Нет, проблема в том, что я вызываю JQuery Dialog для SCOND time, я получаю два MessageBoxs! и когда я вызываю Jquery Dialog в третий раз, я получаю три MessageBoxs! – Lucy

+0

Этот вопрос не имеет ничего общего с ASP.NET, чтобы вы знали. –

ответ

1

Спасибо, но как я могу вызвать диалоговое окно с кнопкой мыши?

Диалог должен быть инициализирован только один раз, не каждый раз, когда вы нажимаете на что-то и регенерировать

решения ставится диалоговая инициализация вне клика и вы сделали

$(document).ready(function() { 

    $("#MyDiv").dialog({ 
       title: "jQuery Dialog Popup", 
       buttons: { 
        Close: function() { 
         $(this).dialog('close'); 
        } 
       } 
      }); 

$("[id*=Call_Dialog]").click(function() { 
    $("#ShowMessage").click(function() { 
       event.preventDefault(); 
       alert('Hi'); 
       $("#MyDiv").dialog('close'); 
      }) 
     }) 
    }); 

, чтобы открыть диалоговое окно JQuery: используйте это перегрузка:

$("#MyDiv").dialog('open'); 
+0

Все прошло отлично! большое спасибо вам! Будьте здоровы! – Lucy

+0

@ Lucy mark как принятый ответ –