由于我参加的一个项目中有一部分asp的代码,新加一个功能,需要调用c#写的类库,字符串和数字类型的参数都能正确传入,唯独数组类型的无法传入。经过大量尝试,最终找到了解决方法。原来asp页面传递数组时,需要把数组变量用括号括起来。例如声明了a=Array(5,10,15,20),那么传参数时,需要写(a)而不是a,虽然不知道为什么这样,不过这样试了一下是可以工作的。希望大家遇到相同问题时可以看到并解决哈哈。
一部分示例代码:
asp页面
a=Array(5,10,15,20)
SET s = CreateObject("TestCom.Class1")
Response.Write(s.arrtest((a)))
c#
public string arrtest(object[] a)
{
//return a.Length.ToString();
string str = "";
for (int i = 0; i < a.Length;i++ )
{
str += "a["+i+"]="+a[i].ToString();
}
return str;
}
在ASP项目中调用C#编写的类库时,遇到数组类型参数无法正确传递的问题。解决方案是ASP页面传递数组时,需将数组变量用括号包围,如(a)而非a。示例代码展示如何在ASP页面和C#方法间成功传递数组。

371

被折叠的 条评论
为什么被折叠?



