[英]Passing a custom class from a .Net ActiveX Control (DLL) to Javascript
我目前在.Net 2.0中創建了一個DLL,該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
Json只是文本,因此您應該能夠創建自己的json。
查看此鏈接以獲取實現http://geekswithblogs.net/Mochalogic/articles/103330.aspx
或者嘗試json.net 在此處輸入鏈接描述
將json放在客戶端瀏覽器上后,將其轉換為對象所需要做的就是調用eval。 請訪問Douglas Cockford的網站,以獲得更強大的json評估解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.