取消绑定asp按钮的客户端单击事件,但保持附加asp按钮的服务器单击事件

时间:2015-07-07 13:23:16

标签: javascript jquery asp.net controls

我需要针对某些特定条件在客户端点击事件中触发服务器点击事件。我知道,如果客户端单击返回true,则触发服务器单击事件。 OnClientClick我正在显示一个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;
}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案

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