繁体   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