急!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方法中。