7

以下を使用して、JavaScript から C# メソッドを呼び出そうとしていますActiveXObject

var myobj = new ActiveXObject('myobject');
var arr = myobj.GetArray();

最終的に、オブジェクトarrは含まれますが、配列は含まれません。C# メソッドからネイティブ JavaScript オブジェクトを返す方法はありますか?SAFEARRAYJScript

4

4 に答える 4

8

JSON文字列を返し、解析して JavaScript オブジェクトにすることができます。.NET オブジェクトを JSON に、またはその逆にシリアル化するために使用できる .NET ライブラリが多数あります。

いくつか挙げると。

この質問と回答はあなたに役立つかもしれません

于 2009-03-15T12:07:49.550 に答える
5

自分で解決策を見つけましたが、この部分に関するドキュメントはありません。JScript.ArrayObject解決策は、次の方法で使用することです。

ArrayObject _lastField;
byte[] byteArray = new byte[]{2,1,2,3};
object[] array = new object[byteArray.Length];
byteArray.CopyTo(array, 0);
_lastField = Microsoft.JScript.GlobalObject.Array.ConstructArray(array);

その後_lastField、ネイティブ配列のように JavaScript で配列を使用できるようになります。

var myobj = new ActiveXObject('myobject');
var arr = myobj.LastField;
alert(arr[1]);
于 2009-03-16T09:08:15.963 に答える