Javascript 取消绑定asp按钮的客户端单击事件,但保持asp按钮的服务器单击事件处于连接状态

Javascript 取消绑定asp按钮的客户端单击事件,但保持asp按钮的服务器单击事件处于连接状态,javascript,jquery,asp.net,controls,Javascript,Jquery,Asp.net,Controls,对于某些特定情况,我需要在客户端单击事件中触发服务器单击事件。我知道,若客户端单击返回true,则会触发服务器单击事件。 一旦客户端单击,我将显示jConfirm。当jConfirm返回true时,我想触发服务器并单击相同的按钮。我正在尝试: <asp:Button ID="Button1" runat="server" Text="ADD" OnClick="btnAdd_Click" ValidationGroup="Add" CausesValidation="true" OnCli

对于某些特定情况,我需要在客户端单击事件中触发服务器单击事件。我知道,若客户端单击返回true,则会触发服务器单击事件。 一旦客户端单击,我将显示jConfirm。当jConfirm返回true时,我想触发服务器并单击相同的按钮。我正在尝试:

<asp:Button ID="Button1" runat="server" Text="ADD" OnClick="btnAdd_Click" ValidationGroup="Add" CausesValidation="true" OnClientClick="return Validate()" />


function Validate() {
     if (Page_ClientValidate('Add')) {
         if ($('#<%=ddlTestField.ClientID%>').val() == '0') {
             var strMessage = 'Continue?';
             $.alerts.okButton = 'OK';
             $.alerts.cancelButton = 'CANCEL';
             jConfirm(strMessage, 'CONFIRM MESSAGE', function (r) {
                if(r)
                {
                    $('#<%=Button1.ClientID%>').unbind("click"); // To unbind the client event
                    $('#<%=Button1.ClientID%>').click(); // To fire the server click event, But it is firing the client click also. A loop goes on
                }
            });
        }
        return true;
    }
    return false;
}

函数验证(){
如果(第_页ClientValidate('Add')){
if($('#').val()='0'){
var strMessage='继续?';
$.alerts.okButton='OK';
$.alerts.cancelButton='CANCEL';
jConfirm(strMessage,'CONFIRM MESSAGE',函数(r){
if(r)
{
$('#')。解除绑定(“单击”);//解除绑定客户端事件
$(“#”)。单击();//可触发服务器单击事件,但同时也会触发客户端单击。循环将继续
}
});
}
返回true;
}
返回false;
}
我找到了解决方案

if(r)
{
      <%= Page.ClientScript.GetPostBackEventReference(Button1, String.Empty) %>;
}
if(r)
{
;
}

当您使用asp.net事件时,我建议您使用两个按钮来执行此操作-一个是隐藏的
runat=server
按钮,另一个是只调用客户端的按钮,它调用您的
btnAdd\u单击
,然后调用$(“Button1”)。单击()`@freedomn-m当前我正按照您所说的方式进行管理。但是,这是唯一的方法,添加一个额外的html按钮&隐藏asp按钮吗?