后台default.aspx.cs文件(部分): public string test()
{
return "1";
}前台default.aspx引用的js文件(部分):var a = "<%=test()%>";
alert(a);然后用IE打开default.aspx,弹窗显示<%=test()%>,而非应该显示的test函数返回值——1。
求解。

解决方案 »

  1.   

    这个要写在aspx页面里面,js文件是静态的文件,不会在服务器端执行<%%>里面的代码
      

  2.   

    非常感谢!
    那你知道怎样通过引用的js文件来访问后台cs文件取得函数返回值么?
      

  3.   

    var a = "<%=test()%>";不加引号看看
      

  4.   

    在aspx的方法里调用cs中的方法,然后再在前台调用此aspx中的方法
      

  5.   

    不太明白。就顶楼的例子来讲呢?我想在js文件中调用aspx中的那个test()方法并得到返回值。
      

  6.   

    你吧TEST的结果当成参数传递不就完了。
      

  7.   

    想过,但是行不通。因为我需要动态的结果,也就是js需要的时候cs再产生结果。
      

  8.   

    在你页面生成的时候那个cs已经将值填充了,不可能等你js需要的时候cs再产生结果,用AJAX把~
      

  9.   

    如果你一定要调用后台返回的方法的话把值存到aspx页面的一个js全局变量里面,然后在js文件中就可以访问了啊
      

  10.   


    var a = "<%=test()%>";把这个放在aspx页面里面。
      

  11.   

    是这样的,我的每个模块都是一个js文件,加载到aspx主页面之中。我是想在模块之内调用后台的函数。
    把js语句直接放在aspx会把代码弄的很乱。
    令,能否知道阁下qq?
      

  12.   

    用单引号,var a = ‘<%=test()%>’;
      

  13.   

    CSDN上的少,你的问题之能用AJAX了,升值已个FUNCTION 
    调用你定义的AJAX ,什么时候需要什么时候调。
      

  14.   

    我找到解决方法了,分享一下:
    function AjaxReadData(sUrl)
    {
        var strRetn;
        var pgeObj = null;
        if(window.XMLHttpRequest)
        {
            pgeObj = new XMLHttpRequest();
        }
        else if(window.ActiveXObject)
        {
            pgeObj = new ActiveXObject("Msxml2.XMLHTTP");
        }
        else
        {
            return null;
        }
        pgeObj.onreadystatechange = function()
        {
            if(pgeObj.readyState == 4)
            {
                if(pgeObj.status == 200)
                {
                    strRetn = pgeObj.responseText;
                }
                else
                {
                    strRetn = "";
                }
            }
        }
        pgeObj.open('GET',sUrl,false);
        pgeObj.send();
        pgeObj.abort();
        pgeObj = null;
        return strRetn;
    }非常感谢大家!