jQuery 使用更新面板 C# 进行验证

jQuery Validation with Update Panel C#

我正在使用 UpdatePanel 作为 asp.net 控件。因此,为了验证它,我使用 jquery onEachRequest。它也工作正常。

但是,主要问题是它停止执行 DropDownList 的回发。意思是,它不会回发来检索数据。

我的代码:

function onEachRequest(sender, args) {
    if ($("#form1").valid()==false) {
          args.set_cancel(true);
    }
}
function pageLoad() {           
      $('#<%= btnPayment.ClientID %>').click(function () {
            $("#form1").validate({
                rules: {
                    <%=txtName.UniqueID %>: {
                        required: true
                    }
                }, messages: {
                    <%=txtName.UniqueID %>:{
                        required: "Please enter Name."
                }
                }
            });

        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_initializeRequest(onEachRequest);
      });
}

如何解决这个问题?

你的 DropDown 有 AutoPostBack 属性吗?

<asp:DropDownList ID="someIdHere" runat="server" AutoPostBack="true" />

我使用以下代码解决了我的问题:

function onEachRequest1(sender, args) {
     args.set_cancel(false);
}

$('#<%= Dropdown Id.ClientID %>').change(function () {
     var prm = Sys.WebForms.PageRequestManager.getInstance();
     prm.add_initializeRequest(onEachRequest1);
});