JQuery确认对话框在用户点击服务器端事件时不触发ASP按钮';s确认

JQuery确认对话框在用户点击服务器端事件时不触发ASP按钮';s确认,jquery,dialog,confirm,Jquery,Dialog,Confirm,我想在ASP按钮(btnRejectAll)点击事件上显示模式确认对话框,一旦用户在模式对话框中选择“OK”,它需要引发按钮“btnRejectAll”的OnClick服务器端事件。下面的代码在单击时显示模式确认对话框,但一旦我们点击OK按钮,它就不会触发服务器端事件。有人能帮我吗 这是我的密码 <script language="javascript" type="text/javascript"> $(function() { $("#dialogR

我想在ASP按钮(btnRejectAll)点击事件上显示模式确认对话框,一旦用户在模式对话框中选择“OK”,它需要引发按钮“btnRejectAll”的OnClick服务器端事件。下面的代码在单击时显示模式确认对话框,但一旦我们点击OK按钮,它就不会触发服务器端事件。有人能帮我吗

这是我的密码

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

    $(function() {


        $("#dialogReject").dialog({
            autoOpen: false,
            height: 300,
            width: 350,
            modal: true,
            buttons: {
                "Reject": function() {
                    $(this).dialog("close");
                    return true;
                },
                Cancel: function() {
                    $(this).dialog("close");
                    return false;
                }
            }
        });

        $("#btnRejectAll").click(function(event) 
        {
            event.preventDefault();

            $("#dialogReject").dialog("open"); 
        });


    });

<asp:Button ID="btnRejectAll" runat="server" Text="Reject All" OnClick="btnRejectAll_OnClick" />

$(函数(){
$(“#对话框拒绝”).dialog({
自动打开:错误,
身高:300,
宽度:350,
莫代尔:是的,
按钮:{
“拒绝”:函数(){
$(此).dialog(“关闭”);
返回true;
},
取消:函数(){
$(此).dialog(“关闭”);
返回false;
}
}
});
$(“#btnRejectAll”)。单击(函数(事件)
{
event.preventDefault();
$(“#dialogReject”).dialog(“open”);
});
});

在单击
btnRejectAll
时阻止默认操作,但从不调用“拒绝”操作的任何操作。我不熟悉ASP.NET,但从标记的外观来看,似乎您正在取消对
btnRejectAll\u OnClick
的调用。如果这是一个JavaScript函数,那么您可以执行以下操作:

"Reject": function() {
             $(this).dialog("close");
             btnRejectAll_OnClick();
             return true;
          },
"Reject": function() {
             $(this).dialog("close");
             $('#form').submit();
             return true;
          },
如果它不是(我怀疑它不是),那么它可能会触发表单的提交。所以你可以这样做:

"Reject": function() {
             $(this).dialog("close");
             btnRejectAll_OnClick();
             return true;
          },
"Reject": function() {
             $(this).dialog("close");
             $('#form').submit();
             return true;
          },

我找到了一种在对话框确认时触发按钮服务器端事件的方法。这是代码

function ConfirmReject(detailId) {

        var leaveId = $("#hdnLeaveReqId").val();



        $("#dialogReject").dialog({
            autoOpen: true,
            height: 300,
            width: 350,
            modal: true,
            buttons: {
                "Reject": function() {
                    $.ajax({
                        type: "POST",
                        url: "LeaveRequestForm.aspx/RejectLeave",
                        data: "{'LeaveReqId':'" + leaveId + "', 'detailId':'" + detailId
                                + "', 'rejectReason':'" + $("#txtRejectReason").val() + "'}",
                        dataType: 'json',
                        contentType: "application/json; charset=utf-8",
                        success: function(msg) { location.reload(); }
                    });

                    $(this).dialog('close');
                },
                Cancel: function() {
                    $(this).dialog("close");
                }
            }
        });

        return false;
    }

 <asp:Button ID="btnRejectAll" runat="server" Text="Reject All" 
                        OnClientClick="return ConfirmReject(0);" />
函数确认拒绝(detailId){
var leaveId=$(“#hdnLeaveReqId”).val();
$(“#对话框拒绝”).dialog({
自动打开:对,
身高:300,
宽度:350,
莫代尔:是的,
按钮:{
“拒绝”:函数(){
$.ajax({
类型:“POST”,
url:“LeaveRequestForm.aspx/RejectLeave”,
数据:“{'LeaveReqId':'”+leaveId+“,'detailId':'”+detailId
+“,”rejectReason“:“+$(“#txtRejectReason”).val()+“}”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
成功:函数(msg){location.reload();}
});
$(this.dialog('close');
},
取消:函数(){
$(此).dialog(“关闭”);
}
}
});
返回false;
}
在代码隐藏类中:

<WebMethod()> _
Public Shared Function RejectLeave(ByVal LeaveReqId As Integer, ByVal detailId As Integer, ByVal rejectReason As String) As String

    'Do Something here

    Return "success"

End Function
_
公共共享函数RejectLeave(ByVal LeaveReqId为整数,ByVal detailId为整数,ByVal rejectReason为字符串)为字符串
“在这里做点什么
返回“成功”
端函数

对不起。asp按钮是如何工作的?它是否提交表单以向服务器发送数据?如果是这样的话,可以试试$(“#btnject”).parents(“表单”).submit();就在返回true之前。