В настоящее время в .Net 2.0 создана dll, в которой есть видимый COM-компонент, который используется в качестве объекта ActiveX на веб-странице в IE.
Концепция отлично работает, вызывая функцию, вызывая события, передавая переменные туда и обратно. Проблема связана со сложными классами информации.
Например, у меня есть этот класс:
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