簡體   English   中英

在asp.net中客戶端單擊事件返回true之后,服務器單擊事件未觸發

[英]Server Click event is not firing after client click event return true in asp.net

我正在創建一個網站,並使用彈出窗口將網格數據導出到Excel工作表,但是我遇到了麻煩,我創建了一個javascript方法,並在客戶端單擊asp.net時調用它,這是我的功能

<script>
    function change() {

        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "Store/ViewStock.aspx/CountStock",
            data: "{'fromDate':'" + $('#<%= txtFromDate.ClientID%>').val() + "', 'ToDate':'" + $('#<%= txtToDate.ClientID%>').val() + "'}",
            dataType: "json",
            success: function (data) {
                if (data.d != null)
                    var count = data.d[0].Count;
                if (count > 0) {
                    $('#emptyDataRow').hide();
                    return true;
                }
                else {
                    $('#emptyDataRow').show();
                    return false;
                }
            },
        });
    }

</script>

這是我的按鈕

我已經使用過OnClientClick="return (!change()){ return false;}"但服務器服務器單擊為true時不起作用。幫助我如何解決此問題? 謝謝

$ .ajax是一個異步函數。 因此,這些回電將無法進行。

您為什么要關注change功能的返回? 您可以這樣做:

onclientclick="change()"

另外請注意,我認為最好在if語句之外定義變量,因此在下游也不是未定義變量:

var count = 0;
if (data.d != null)
  count = data.d[0].Count;
if (count > 0) {
  $('#emptyDataRow').hide();
}
else {
  $('#emptyDataRow').show();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM