2011-09-27 75 views
0

我有一个MVC项目,其中控制器操作返回一些JSON数据(即通过/ Home/GetData URL)。此操作还将自定义对象作为参数。Silverlight和MVC:发布对象到控制器方法

这个签名的动作是JsonResult GetData (MyCustomObject o)

我也有在我构建MyCustomObject并试图调用这个URL(/首页/的GetData /)通过HttpWebRequest的客户端Silverlight项目。但是,我很难弄清楚如何在此次调用中发布我的对象。我是否需要将它序列化为Json才能通过它?

非常感谢!

+0

您是否已经编写了在MVC中生成MyCustomObject的代码?还是你也需要帮助?如果你从方程中删除一个问题,那么每当你有一个交叉技术问题时,你就更有可能得到你需要的帮助。我知道Silverlight,我知道小MVC。其他人会知道MVC,但没有Silverlight。少数人会知道这两个,所以你通过期望回答者了解两者来限制你的选择,除非你两个人都需要帮助。 – AnthonyWJones

+0

MVC客户端已经编写完成,实际上是一个单独的Web应用程序,我试图在我的Silverlight应用程序中使用它。 基本上,我所有可用的是一个URL“http://server/home/getdata/index.aspx”,它返回Json,但是当我查看控制器代码时,我发现它需要一个自定义目的。 我有MyCustomObject,但现在我确定如何传递它。我假设我必须做一个httpwebrequest并以某种方式发布这些数据? – TeeZee

+0

然后你可以在你的问题中包含服务器端代码,它在调用操作之前从请求中构造MyCustomObject? – AnthonyWJones

回答

0

MVC可以接受和提交数据绑定到你的MyCustomObject对象,无论它是否被提交为JSON,XML,查询字符串,一个标准的表单POST等

MVC不需要对象以特定的方式提交。考虑到您的所有要求,设计师可以根据特定情况确定最佳工作方式。

提交时,MVC将使用适合提交数据格式的ValueProvider,而DefaultModelBinder将尝试使用ValueProvider中的值绑定到您的模型。

0

感谢您的帮助!由于Web应用程序通过getJSON调用来处理此事件,因此我结束了将对象作为查询字符串参数发布,即我正在向http://../controller/action/view.aspx?custObject.property1=<value>&custObject.property2=<value>等发出Web请求

相关问题