asp.net(c#)开发网页
.cs文件是后台代码文件public string getData(){.....}从数据库中提取数据返回一个字符串,我在前台.ASPX 文件中用javascript 调用getData()函数。
function getDataxxx()
    {
        var str=("<%getData();%>");
    }
第一次加载时是正确的,但再次调用getDataxxx()时,他并没有调用"<%getData();%>而是把第一次调用得结果赋给了str
如何才能使getDataxxx函数再调用cs文件的public string getData(){.....}

解决方案 »

  1.   

    var str=(" <%= getData(); %>"); 
      

  2.   

    不明白你要做什么?
    你写得再次调用为什么多了XXX,是否是同一个函数?
    再次执行,你是怎么执行的?刷新吗?
    楼上改的对,没有输出语句,你把什么放到那里啊?
    我测试了,即使是刷新,似乎也能调用该函数
      

  3.   

    再次调用getDataxxx()时是否重新调用了public string getData(){.....}?
    调用getData()需要网页提交服务器(这种情况最好Ajax,那样不需要整个网页环回到服务器)
      

  4.   

    你这么做肯定是不想刷新既然是不想刷新页面,还想调用后台数据,那么应该用ajax
      

  5.   

    在CS中写protected string str;
    str=getData();
    js里应这样写:
    function getDataxxx() 
    {
       var str="<%=str%>"; 
    }
      

  6.   

    第一次加载当然是对的了,如何在接着调用服务器端的话,那最好用Ajax实现!
      

  7.   

    <%=str%>"这种代码被称为代码交付块,微软给的建议是尽量不要使用,因为这样的代码会大大降低程序的运行速度。
    建议使用ajax
      

  8.   

    谢谢大家,我是想在不用AJAX情况下用javascript中getDataxxx()函数再次调用cs下的getData()函数,getDataxxx()里有对数据操作的程序。
      

  9.   

    我是新手,对bs结构不熟,以前主要是做cs的,这个问题还是没有解决
      

  10.   

    JavaScript 是在客户端执行的, <%getData();%>是在服务器端执行的,所以只是第一次访问的时候就取得getData()的值并返回给客户端,在客户端只能使用它的值而不能再调用它的函数,因为javascript是没办法调用客户端方法的,除非使用ajax