2011-09-27 74 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請求

相關問題