是否可以在不序列化的情况下将对象从SilverLight传递到JavaScript
Is there anyway to pass an object from SilverLight to JavaScript without serializing?
假设我在SilverLight中有一个类:
public class GenericClass {
public string filedOne = "field one";
public string filedTwo = "field two";
}
我想把它的一个实例传递给JavaScript,以以下方式访问:
function callback(obj) {
console.log(obj.fieldOne);
}
如果不序列化为JSON并返回,这可能吗?
更新:
我知道如何传递原始值——这不是问题。我需要传递一个具有多个字段的对象。
public partial class TestPage: UserControl
{
public TestPage()
{
InitializeComponent();
MyClass myObject = new MyClass();
myObject.SomeMember = "TEST";
HtmlPage.Window.Invoke("JSFunction", myObject);
}
}
更新:为了将非基元类型的对象传递给javascript;类定义应标记有CCD_ 1属性。该类的所有属性也应标记为ScriptableMember
属性。
[ScriptableType]
public class MyClass
{
[ScriptableMember]
public string SomeMember { get; set; }
}
使用ScriptableTypeAttribute
[ScriptableType]
public class SMT_ScriptableManagedType
{
[ScriptableMember(EnableCreateableTypes = false)] // No access
public string GetString1()
{ return "abcdefg"; }
public string GetString2() // Can be accessed.
{ return "123456"; }
}
现在你可以像这样传递对象:
HtmlPage.Window.Invoke("ReceiveSMT", new SMT_ScriptableManagedType());
其中ReceiveSMT是一个javascript函数,它将接收对象作为参数。
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- FabricJs-限制主对象内添加对象的移动区域
- 是否可以在不序列化的情况下将对象从SilverLight传递到JavaScript
- 从javascript返回对象到silverlight
- wpf/silverlight中的依赖项属性与javascript对象属性
- 将JSON对象从Javascript发送到Silverlight,然后触发事件更新Silverlight