JavaScript 调用后台带参数的方法 举个简单的例子:
前台客户端JS方法如下:
<script language="javascript" type="text/javascript">
function msg()
{
bb=document.getElementById("TextBox1").value;
alert(bb);
a='<%=getMsg("'+bb+'") %>';
alert(a);
}
</script>
后台方法:
protected string getMsg(string name)
{ string n="";
//对客户端传过来的参数进行相关处理后得到n字符串
return n ;}
问题点:客户端传过来的name依然是'+bb+' ,并没有取得真正的值。
说明该变量此时在服务器端任然是一个变量,只有传到客户端才是指定的值。
另外做一个测试,在getMsg()方法里面直接返回 name值时,尽管调试还是值'+bb+' ,但能够得到正确的结果。说明不能对name进行相关切割查找等处理,因为它此时是变量。
请问,怎样才能取得其真正的参数值?并在getMsg()方法里面能够处理,并得到正确的结果。
这样做是行不通的,a='<%=getMsg("'+bb+'") %>';这里的值 是在你整个页面解析完成后,已经生成了,不信你可以直接查看源代码,所以不管你怎么再去调用这个JS功能,这个a 的值是不会改变的。你要实现这样的功能还是用ajax吧
楼上的是对的。
纠正博主一个问题,客户端和服务器端现在你还有些迷糊吧!
前台客户端JS方法如下:
<script language="javascript" type="text/javascript">
function msg()
{
bb=document.getElementById("TextBox1").value;
;
a='<%=getMsg("'+bb+'") %>';
;
}
</script> 这里在服务器端执行的时候能取到bb的值吗?有点笑话了吧!
js的运行依靠的是他的宿主,你这样子写在服务端是不可能获取到的。
要实现你的办法可以有如下方法,在getMsg方法中直接取值,二时候可以使用ajax方式来达到你的要求!