Silverlight 错误地传递 JSON 对象?

2024-02-12

我有一个标有 ScriptableType 和 ScriptableMember 的 Silverlight 类,我希望能够将对象从 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.

有人告诉我我做错了什么吗?

我不想在发送到 javascript 之前在 Silverlight 中序列化对象。

Cheers

AWC


JSON.stringify使用枚举对象的可枚举属性for...in。如果属性不可枚举,它们将不会包含在结果字符串中。

Silverlight 对象是外部对象,而不是本机 javascript 对象。就像 ActiveXObject 一样,属性不可发现/可枚举。我不确定是否有办法解决这个问题。我发现了几页关于实现 IEnumerable 的提示,以便能够使用foreach在母语中,但我不确定这是否会延续到 JavaScript 中。

我不认为这是可能的,但你永远不知道。如果您需要一个对象是可枚举的,唯一的方法可能是使用System.Json并打电话eval在文档上以 JavaScript 对其进行反序列化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Silverlight 错误地传递 JSON 对象? 的相关文章

随机推荐

  • 大括号内内容的正则表达式

    是否有正则表达式来匹配大括号内的内容 例如以下内容 d key a 1 2 3 我想要匹配 key a 1 2 3 and a 1 2 3 但不是 键 a 1 2 3 在经典正则表达式中 这是不可能的 DFA 无法解析嵌套对 有多种方法可以
  • 悬停时使用 XML 内容更新 DIV

    我想做的事情的概念相当简单 我有一个通过 XSLT 从 XML 文档加载的公司徽标网格 每个徽标都有自己独特的公司简介链接 我在页面上有一个单独的 div 本质上是一个 预览 框 我想做的是这样的 我将鼠标悬停在徽标上 它会将公司名称和简短
  • 宏如何根据传递给它的类型定义有效的全局名称?

    我相信标题是不言自明的 但这里有一个例子来说明我想要实现的目标 define PASTE2 0 1 0 1 define DEFINE OPS FOR TYPE TYPE int PASTE2 do something with TYPE
  • MySQL对键值对作为记录过滤的优化

    我有一个数据库结构 旨在以易于扩展的方式存储特定对象的属性 有一个 对象 表 id name type etc 接下来 我有一个 属性 表 id Name 最后 关系 表 用于将所有数据保存为具有相应值的属性 对象对 作为主键 id obj
  • 是否可以使用 Spotify Web API 编写没有回调 URI 的桌面应用程序?

    我想编写一个简单的供个人使用的桌面应用程序 它使用 Spotify Web API 来构建播放列表 然而 据我所知 如果不提供回调 URI 就无法使用 API 而我没有回调 URI 因为我没有任何类型的域或服务器 除了我的个人计算机 有没有
  • 如何将 uint32 转换为字符串?

    我需要转换一个uint32 to string 我怎样才能做到这一点 strconv Itoa似乎不起作用 很长的故事 我需要将通过 imap 包接收到的 UID 转换为string以便我稍后可以将其设置为序列 附带说明一下 我想知道为什么
  • 如何更改 UIDatePicker 的线条颜色

    我的一个 ViewController 中有一个 UIDatePicker 如您所见 背景很暗 我已经设法将文本颜色更改为白色 我无法更改的是所选日期上方和下方两行的颜色 它始终保持默认的深灰色 有没有人有一段代码来实现对这些线条进行着色
  • htaccess 重定向不适用于带参数的 URL

    我想将index php action this id 1重定向到index php action this id 2 我在 htaccess 中尝试了下面的代码 但没有帮助 redirect 301 index php action th
  • 将 Enum 成员序列化为 JSON

    如何序列化 PythonEnum成员到 JSON 以便我可以将生成的 JSON 反序列化回 Python 对象 例如 这段代码 from enum import Enum import json class Status Enum succ
  • 如何通过键盘添加 UIView - iOS

    我一直在尝试在 iOS 上显示 toast 消息 我所做的是 当任何通知到来时 我只需获取导航控制器视图并为我的 toast 消息添加一个子视图并显示即可 UIView top view self navigationController
  • 必须避免奇怪的站点访问者用户代理吗?如果是的话怎么办?

    我正在使用共享主机 我的网站显示 ERR CONNECTION REFUSED 所以我去拜访我的 SSL 网站的访客 我发现 用户代理 列表中没有常规名称 cpanel 访客列表显示 用户代理 Expanse 对我们客户的网络边界进行索引
  • C#/Unity - 将 StreamWriter.WriteLine 转换为 StreamWriter.Write 并将消息字节大小作为前缀

    我一直在研究并得出结论 使用StreamWriter WriteLine这不是最好的主意 然而 使用StreamWriter Write并添加实际消息字节大小的前缀并将其从客户端发送到服务器 以便服务器知道从哪里开始读取以及从哪里停止读取
  • 在 DotNet RGB24 或 RGB32 中使用哪个更好地提高性能

    我在我的应用程序中使用了大量图像 也用于动画 因为 3 兆像素图像 2048 1536 3 145 728 保存大约 9MB 的数据 每个像素 R G B 所以我曾经认为它比 32BIT 12MB 每个像素 A R G B 但显卡的架构似乎
  • Scala 蛋糕模式和依赖冲突

    我正在尝试使用 Cake 模式在 Scala 中实现依赖项注入 但遇到了依赖项冲突 由于我找不到具有此类依赖项的详细示例 因此这是我的问题 假设我们有以下特征 有 2 个实现 trait HttpClient def get url Str
  • PHP 使用 DatePeriod 创建带有休息时间的时间段

    我想创建带有开始时间 结束时间和休息时间的时间段 public function getServiceScheduleSlots duration break stTime enTime start new DateTime stTime
  • 如何在Python中加入列表但使最后一个分隔符不同?

    如果只有两个项目 或者最后两个项目之间有逗号和一个 符号 我试图将列表转换为与 符号连接的分隔字符串 例如 Jones Ben Jim Jack James 我目前有这个 pa join listauthors search 并且不知道如何
  • 计算pdf中(Td,TD,Tm,cm,T*)内容流的确切位置?

    获取或计算 pdf 中 Td TD Tm cm T 内容流的确切位置 作为一个人 我能够通过比较字形在pdf和内容流位置值中的位置来计算 无论是替换最后一个Td还是添加到最后一个Td或与fontsize相乘 pdf内容流中标签的位置 但我无
  • 表名以“es”结尾的 Linq to SQL 创建错误的实体类名称

    我的 SQL 表名称都是复数 Events Teams Campuses 等 当我将表拖入 dbml 时 它会创建一个名为 的实体 Campuse 这当然是不正确的 我手动将其重命名为Campus在属性页面中 但它似乎没有正确更新所有自动生
  • 在 Singleton 类上创建事件

    我有一个 Windows Mobile 6 5 net cf 3 5 它使用遵循以下模式的单例类 public sealed class Singleton static readonly Singleton instance new Si
  • Silverlight 错误地传递 JSON 对象?

    我有一个标有 ScriptableType 和 ScriptableMember 的 Silverlight 类 我希望能够将对象从 Silverlight 传递到 javascript 当我调用 JSON stringify 在 java