急!PageMethods问题!
我们知道在js中可以通过PageMethods调用.cs中的静态方法
如:
JScript code
function A()
{
PageMethods.MyFunc('strID',B);
}
function B(str)
{
alert(str);
}
但是现在有一个新的问题,如果我的B方法要求有两个输入参数,那么A方法在调用PageMethods的时候该怎么写?
JScript code
function B(str,strName)
{
alert(str + strName);
}
------解决方案--------------------方法B只能有一个参数, 如果你需要2个参数的话,你可以吧这个参数定义为一个数组或者一个结构.
------解决方案--------------------
你可以定义全局型变量
------解决方案--------------------把两个参数连成一个字符串,比如用,分隔,在JS里在处理也可以
------解决方案--------------------B方法不是你调用的所以不存在你说的有两个输入参数的问题!
B方法只是你的PageMethods.MyFunc方法调用成功后的回调函数,
其实传给B方法的那个参数是你调用完PageMethods.MyFunc后的返回值,由于PageMethods.MyFunc只能有一个返回值!
所以不存在你说的B方法有两个输入参数的情况!
但是如果你确实需要在PageMethods.MyFunc中返回多个参数的话你可以用简单的楼上说的字符串拼接,比如逗号之类的分割!
然后在B方法中解析出你传回来的值,也可以在PageMethods.MyFunc传回一个LIst在B方法中通过str[i]来访问!
我个人比较喜欢的是通过Json对象来传递PageMethods.MyFunc的返回值到B方法中。