У меня есть класс Silverlight, помеченный ScriptableType & ScriptableMember, и я ожидаю, что смогу передать объект из Silverlight в javascript. Когда я вызываю JSON.stringify (в javascript), я ожидаю получить JSON-представление объекта, но все, что я получаю, это {}
Класс определяется как:
[ScriptableType()]
public class MyEvent
{
[ScriptableMember(ScriptAlias = "eventContent")]
public int EventContent { get; set; }
}
Я передаю объект из Silverlight так:
var jsonObject = new MyEvent { EventContent = 1 };
HtmlPage.Window.Invoke("publishValue", topic, jsonObject);
И в javascript я делаю следующее:
alert(topic);
alert(jsonObject);
alert(JSON.stringify(jsonObject));
Когда я использую отладчик, я вижу только jsonObject
типа Object
, но вызов alert(jsonObject)
возвращает правильный тип, и если я получаю доступ к свойству jsonObject.eventContent
, я получаю верное значение, но оно неправильно сериализовать с JSON.stringify
.
Кто-нибудь скажет, что я делаю не так?
Я не хочу сериализовать объект в Silverlight перед отправкой в javascript.
Приветствия
AWC