2010-07-13 70 views
1

我已经看到了一些示例,您可以在aspx和silverlight应用之间传递参数以及如何将简单值传递回aspx。如何在silverlight和asp.net之间传递对象

是否可以将泛型类型(如列表集合)从silverlight应用程序传递到要拾取的asp​​.net页面。我已经看过序列化,但不确定这是否是性能最好的方法?

在此先感谢

+0

仅供参考我已经看到了答案张贴在http://stackoverflow.com/questions/354453/pass-objects-to-silverlight-through-server-side-asp-net-code 其中涵盖JSON /序列化.. 。只是有兴趣看看是否有人发现另一种方法 – rlcrews 2010-07-13 23:16:10

回答

0

由于Silverlight是客户端和ASP.Net是服务器端,你将需要使用序列化,以在二者之间传递对象。

我会考虑在Silverlight中使用DataContractSerializer将对象序列化为XML。然后,您可以推动XML您想要的任何方式:ASPX Web服务,WCF服务,HTTP PUT,在HTML隐藏字段等

+0

布赖恩,你能指出我有关如何去做这件事的任何补充参考?谢谢 – rlcrews 2010-07-14 03:16:30

+0

@randyc:我已经详细阐述了我的答案。希望能帮助到你。 – 2010-07-14 12:34:28

0

评论: Sharing C# code between Windows and Silverlight class libraries

你的答案将是解决内上市已经提供了相同的问题或几乎确切。

摘录:

您不能设置从一个Silverlight装配到正规的.NET程序集的引用,但你可以这样做的相反。

因此,创建一个共享的Silverlight程序集并将您的代码添加到该程序集。现在,您可以将常规.NET和其他Silverlight程序集的参考设置为共享的Silverlight程序集。

限制是您只能将代码放在那里,可以在.NET和Silverlight CLR上工作,但这与共享代码没有区别。

礼貌:莫里斯

+0

谢谢乔。在查看他们共享代码(方法)的例子时,我只想分享一组对象,例如包含名称年龄身高体重的列表集合,对于多人?我的sl应用程序为用户提供了查看多个人的能力,并通过应用程序可以选择某些人。一个选中的这些名字应该传回给一个asp.net应用程序供消费和使用。我看到如何共享方法/代码,但我仍然不确定这将如何适用于类型/数据集合。你能指点我其他的例子吗? 谢谢。 – rlcrews 2010-07-14 03:27:56

+0

对不起,randyc我一直很忙...目前有限的例子穿越silverlight程序集到.net。不过,我猜测,除了MSFT人员之外,很少有开发人员可以实际进行这种交叉开发。 我会保持睁大眼睛,但是,这是我找到的最接近的解决方案......以满足您的特定要求。 – 2010-07-19 15:39:43

2

您也可以与您的.aspx页面的客户端进行通信,通过编写脚本的对象......看到Silverlight的HtmlPage.RegisterScriptableObject(string, object)文档。