JS中:
var bb="啊啊啊啊";
var nn="<%=postrank("+bb+")  %>";
后台方法:
public string postrank(string a)就是想把JS中bb这个值传给后台的方法做处理,但是后台接受的却是"+bb+"这组字符串。请问该如何传这个值。

解决方案 »

  1.   

    先执行的是后台在执行前台,它把你+bb+当作一个参数处理,然后看你方法postrank返回的是什么,nn接受的就是什么
      

  2.   

    用ajax get 或post到服务端,接收参数处理后返回,客户端nn在接受返回过来的值或继承ICallbackEventHandler这个接口进行回调!
      

  3.   

    可以用微软的那个Ajax类库,然后通过webservices来实现!
      

  4.   

    《% %>里面的就是后台的代码了,你的想法肯定认为("+bb+") 是把JS里面的bb传回去,其实不是的,你要把
    "<%=postrank("+bb+") %>";看成是在cs文件写了这样postrank("+bb+")的一段代码 ,那你说你传的是不是就是+bb+这个string?
    想做你说的效果,最好把bb赋值给input,js用document.From.sumbit[0]回后台去input的值
    其实如果不是牵扯到数据库的改动或者业务方面的改动,只是单纯的对一个string进行处理的话JS本身就满足要求没必要把东西前后台传来传去的,如果你可以具体说说你要做些什么我想会有更好的答案
      

  5.   


    能详细点给我个例子么,AJAX不太明白
      

  6.   

    三部分分别添加下面的代码就可以实现你说的
    JS代码var input1 = "<%=input1.ClientID %>";
    var bb="啊啊啊啊";
    document.all(input1).value =  bb;
    document.from.sumbit[0];HTML代码<input id="input1" runat="server" type="hidden" />后台代码string bb = input1.value;
      

  7.   

    你说的效果我上面的代码就可以了,如果你想使用AJAX,那就在你的页面<from>外添加
    <asp:ScriptManager runat="server">
    </asp:ScriptManager>
    接着把你需要无刷新传回去的内容用控件
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
    这里是你要传回去的HTML代码,比如我上面写的:<input id="input1" runat="server" type="hidden" />
        </ContentTemplate>
        </asp:UpdatePanel>
    这样就实现AJAX了,这个方法简单,不过效率不好,不过你只有一段文本的话没问题,跟用JQ,JS之类的AJAX都是差不多效率的
      

  8.   

    <%
       var bb="啊啊啊啊";
       var nn=postrank(bb);
    %>
    <%=nn%>
      

  9.   


    我的那个层和按钮也是用JS生成的,
    document.getElementById("toclick1").innerHTML='<input onclick="add();"  id="Button2" name="Button2" type="button" value="提交" />';
    toclick1是TD的ID。所以按钮只能调JS,生成不了事件,还有什么好办法么,或者改我现有的
      

  10.   


    http://blog.csdn.net/porschev/archive/2010/10/15/5943579.aspx
      

  11.   

    说个简单的调用方法 只是简单的操作 你可以把你在前台页面上的JS的值赋给一个隐藏域里面(这里用JS还是Jquery 自己选当然都是非常简单的) 然后再在后台直接取哪个隐藏域里面的值就好 希望能帮助到你
      

  12.   

    解决了,谢谢ljx09195117,谢谢各位。