Javascript 使用asp.net的Jquery对话框

Javascript 使用asp.net的Jquery对话框,javascript,jquery,asp.net,jquery-ui,Javascript,Jquery,Asp.net,Jquery Ui,当我点击按钮显示消息时,我得到一个MessageBox,这是正常的,但当我调用Jquery对话框进行SCOND时,我得到两个MessageBox!当我第三次调用Jquery对话框时,我得到了三个MessageBox!请帮帮我 这是我的密码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <

当我点击按钮显示消息时,我得到一个MessageBox,这是正常的,但当我调用Jquery对话框进行SCOND时,我得到两个MessageBox!当我第三次调用Jquery对话框时,我得到了三个MessageBox!请帮帮我

这是我的密码:

<%@ 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>

$(文档).ready(函数(){
$(“[id*=Call\u Dialog]”。单击(函数(){
$(“#MyDiv”)。对话框({
标题:“jQuery对话框弹出”,
按钮:{
关闭:函数(){
$(this.dialog('close');
}
}
});
$(“#显示消息”)。单击(函数(){
event.preventDefault();
警报(“Hi”);
$(“#MyDiv”).dialog('close');
})
})
});


谢谢,但是我如何通过单击按钮调用对话框

对话框应该只初始化一次,而不是每次单击某个对象并重新生成时

解决方案是将对话框初始化放在单击之外,您就完成了

$(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');

您有
.dialog()
.click()
$(“[id*=Call\u dialog]”)内。click()
事件。这就是你想要做的吗?不,问题是当我调用Jquery对话框进行SCOND时,我得到了两个MessageBox!当我第三次调用Jquery对话框时,我得到了三个MessageBox!这个问题与ASP.NET无关,只是让你们知道。@Lucy更新了答案