日期:2014-05-18  浏览次数:20452 次

JS调用后台函数的问题
HTML code
<asp:CheckBox ID="CheckBox1" runat="server"   onclick='<%# "cbdelete(this,\""+Eval("value").ToString()+"\")" %>' />  


JScript code
 function cbdelete(obj,id) {
if (confirm("你确定要删除吗?") == true) {
                    var tempfc = '<%# ttest("' + id + '") %>';
                }
                else {
                    
                }
}


C# code
    public string ttest(string uid)
    {
            InfoDAL.Users us = new InfoDAL.Users();
            bool result = us.Delete(uid);
            if (result)
            {
                return uid;
            }
            else
            {
                return uid;
            }
        return uid;
    }






问题:

网页加载时会执行这个方法ttest(string uid),但点击CheckBox1时,就不执行ttest(string uid)方法了,请问这是为什么?


------解决方案--------------------
cbdelete这个事件没放onload里面吧
------解决方案--------------------
onclick='<%# "cbdelete(this,\""+Eval····看好了,cbdelete这个方法是JS中的函数,<%#%>是调用后台的标志,所以,你的cbdelete扔到外边来,然后将参数放进他的括号,也就是onclick='cbdelete('<%#%>')'
------解决方案--------------------
cbdelete是脚本,不用<%%>这种方法,直接调用就行了,如2楼
------解决方案--------------------
没有回发怎么到服务器处理