js调用后台函数 传递变量怎么写?
ss 是后台函数;
C# code
   public string ss(string a)
    {
    }
下面前台调用没问题
JScript code
  var    Obj = document.getElementById("TextBox1").value;
       
         var a = "<%=ss("1")%>";
下面传递变量不知道怎么写了
JScript code
  var    Obj = document.getElementById("TextBox1").value;
       
         var a = "<%=ss(Obj)%>";//不对
        var a = "<%=ss("Obj")%>";//不对
var a = "<%=ss("+Obj+")%>";//不对
请问改怎么写才正确
------解决方案--------------------你直接在TextBox1上加runat=server, 然后 var a = "<%=ss(TextBox1.value)%>";
------解决方案--------------------服务器代码执行完毕才发送给客户端的,你要搞清楚基本原理,
你需要采用ajax实现
或者回调
------解决方案--------------------
参见
<%@ Page Language="C#" EnableViewState="false" %>  
<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
 private string ReturnBackValue = " 返回到客户端的内容 | ";  
 //声明函数,用来返回到客户端。
 public string GetCallbackResult()
 {
   return ReturnBackValue;//将结果返回客户端
 }  
 //声明一个函数,用来接收客户端的参数;函数名字不可以随便,必须是RaiseCallbackEvent才可以
 public void RaiseCallbackEvent(String eventArgument)
 {
   this.ReturnBackValue += eventArgument;
 }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title></title>
 <script type="text/javascript">
   function myfunction(arg) {
     <%=Page.ClientScript.GetCallbackEventReference(Page, "arg", "showMsg","")%>;
   }
   function showMsg(rValue) {
     alert(rValue);
   }
   alert("刷新测试");
 </script>
</head>
<body>
 <form id="form1" runat="server">
 <input type="button" onclick="myfunction('客户端传入的参数')" value="无刷新调用" />
 </form>
</body>
</html>
------解决方案--------------------
回调函数或者AJAX
AJAX:
JScript code
   function Button1_onclick() {
   
            var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
            if (!xmlhttp) {
                alert("XMLHTTP对象失败");
                return false;
            }
            xmlhttp.open("POST", "Handler.ashx?value="+document.getElementById("TextBox1").value, false);
            xmlhttp.onreadystatechange = function (){  
             
                if (xmlhttp.readyState == 4&&xmlhttp.status == 200) {
                    alert(xmlhttp.responseText);  //返回值
                }
          }
            xmlhttp.send();
     
        }