日期:2014-05-16  浏览次数:20548 次

asp.net 前台js调用后台的函数
前台定义一个<input type="button">,希望调用后台的带参函数,
var proID = "Qu-1400055";
                   
                    if (confirm("你确认接收编号为" + proID + "的任务吗?")) {
                        //调用后台同意 方法
                        var mess = <%=AgreeJob("'+proID+'") %>;
                       }
关键就是调用 var mess = <%=AgreeJob("'+proID+'") %>;这句问题,我查了网上好多资料,各种写法,都不行,有人知道怎么解决吗?
 var mess = ‘<%=AgreeJob("'+proID+'") %>’;

 var mess = ‘<%=AgreeJob("+proID+") %’;
 var mess = <%=AgreeJob("'+proID+'") %>;

 var mess = <%=AgreeJob('+proID+') %>;

 var mess = <%=AgreeJob("+proID+") %>;
以上通通不好用啊?我想知道js调用后台方法只有这一条路可以行的通吗?请大神指教
------解决方案--------------------
可以用ajax 的post 方法。

  var mess = <%=AgreeJob("'+proID+'") %>; 是没执行还是?
用的public还是
------解决方案--------------------
这种调用方法确实不太讲究,不过办法还是有的
首先,AgreeJob有返回值时用<%=,没有时用<%#,AgreeJob一定是public的,如果还是没有用的话请尝试下面的方法
直接触发一个服务器端button的click事件,把要传递的值放在隐藏域里

------解决方案--------------------
‘<%=AgreeJob("'+proID+'") %>’
这句在你页面加载时已经有内容输出了,他不可能是动态的。
要实现JS掉用后台方法的话,只能做AJAX调用,或者callback技术(这种技术在AJAX被推广后就废弃了),这2种不刷新页面;或者用__doPostBack做POST回发或者普通POST回发,不过你能看到刷新页面的。