IT俱乐部 ASP.NET ASP.NET中Onclick与OnClientClick遇到的问题

ASP.NET中Onclick与OnClientClick遇到的问题

OnClientClick是在前端执行的代码,也就是在xx.js中
Onclick是在后端执行的代码,也就是在xx.cs中

1
<button id="btnGenerateQuote"></button>

这里想要实现的功能是:根据OnClientClick的返回值,判断是否执行OnClick中的代码,一开始的想法是

1
2
3
4
5
6
7
8
function GenerateQuote() {
    alertlConfirm(_c.toMessage('提示:是否XXX?'), function () {
        return true;
    }, function () {
        return false;
    });
    return false;
}

发现根本就没有判断js里的值,直接返回false
(最后一行这个return false不写的话,默认是返回true,那么就是不判断,直接执行onclick中的代码)
原因:js是单线程,直接执行完语句不会回调

解决方法:添加一个回调函数

1
2
3
4
5
6
7
8
9
10
function GenerateQuote() {
    alertlConfirm(_c.toMessage('提示:是否XXX?'), function () {
        //第一个参数是按钮名,第二个参数是Onclick方法
        __doPostBack("btnGenerateQuote", 'btnGenerateQuote_Click');
        return true;
    }, function () {
        return false;
    });
    return false;
}

到此这篇关于ASP.NET中Onclick与OnClientClick遇到的问题的文章就介绍到这了,更多相关ASP.NET Onclick与OnClientClick问题内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部! 

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/code/asp-net/15047.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部