点击事件在应用程序的第一次加载时仅触发一次

时间:2017-03-02 09:10:23

标签: webforms buttonclick

我正在使用ASP.NET Web窗体。我点击按钮点击一下JavaScript事件。我的问题是这个事件在应用程序的第一次加载时只被触发一次。似乎某种程度上事件解除了按钮。任何人都可以帮我吗?

这是ASPX按钮控件

<asp:Button ID="btnGetReport" runat="server" Text="Apply"></asp:Button>

这是JavaScript代码:

$("#btnGetReport").click(function () {
    var fromDate = $('#txtDateFrom').val();
    var toDate = $('#txtDateTo').val();
    if (fromDate != "" && toDate != "") {
        GetReport(fromDate, toDate);
    }
    else {
        alert("\"Date From\" and \"Date To\" fields are required");
    }
});

我第一次点击按钮时会触发.click()事件。但是下一次点击不会触发任何东西。

1 个答案:

答案 0 :(得分:1)

您使用的是UpdatePanel吗?

如果答案是肯定的,那么您需要在页面加载和UpdatePanel更新后绑定点击事件。

$(function () {
    var _initialize = {
        ReportBindClick : function () {
            $("#btnGetReport").on('click', function () {
                var fromDate = $('#txtDateFrom').val();
                var toDate = $('#txtDateTo').val();
                if (fromDate != "" && toDate != "") {
                    GetReport(fromDate, toDate);
                }
                else {
                    alert("\"Date From\" and \"Date To\" fields are required");
                }
            });
        }
    }

    // Bind on page load complete
    _initialize.ReportBindClick();

    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(function () {
        // Bind after UpdatePanel update
        _initialize.ReportBindClick();
    });
}