我目前在.Net 2.0中创建了一个dll,它有一个COM可见组件,用作IE中网页上的ActiveX对象。
这个概念很好用,调用函数,引发事件,来回传递变量。问题来自于复杂的信息类别。
例如,我有这个课程:
public class ClientInfo {
public ClientInfo() { }
public ClientInfo(DataRow dr)
{
ClientName = dr["Name"].ToString();
Address = dr["Address1"].ToString();
}
public string ClientName;
public string Address;
}
这很简单。然后我有一个函数,它构建一个由上述类组成的返回数组:
ArrayList arr = new ArrayList();
foreach (DataRow r in dsClients.Tables[0].Rows)
{
arr.Add(new ClientInfo(r));
}
return arr.ToArray();
从调用此函数的javascript开始,返回是未定义的。从另一个.Net项目(包含一个简单的按钮来测试这个问题)调用它时工作正常。
我似乎需要将返回对象转换为更容易通过javascript(JSON?)访问的内容,或者可能在javascript中定义返回变量的类型。
任何帮助都将不胜感激。
编辑:当然,我不能使用序列化,因为直到.Net 3.5才包含序列化,我们的目标是2.0
答案 0 :(得分:1)
Json只是文字,所以你应该能够创建自己的json。
查看此链接以了解实施情况 http://geekswithblogs.net/Mochalogic/articles/103330.aspx
或者也许试试json.net enter link description here
在客户端浏览器上安装了json后,只需将其转换为对象即可调用eval。查看Douglas Cockford的网站,了解更强大的json eval解决方案。