从silverlight向控制器mvc2发布对象

时间:2010-11-30 16:42:54

标签: asp.net-mvc-2 silverlight-4.0 http-post

我在mvc上有一个带有post方法的控制器的应用程序

[HttpPost]
public EmptyResult(DispositivoMovil dispositivo)
{
  try
  {
     //Something
  }
}

我还有另一个需要使用此方法的silverlight应用程序,如何将DispositivoMovil对象发送到此方法?

1 个答案:

答案 0 :(得分:1)

您无法直接从Silverlight应用程序向此控制器发送对象。例如,您需要使用WebClient发送HTTP POST请求,并在POST正文中传递值。这是一个例子:

var client = new WebClient();
var values = new NameValueCollection
{
    { "PropName1", "value 1" },
    { "PropName2", "value 2" },
    { "ComplexPropName3.SimpleProp", "value 3" },
    // And so on for each value in the DispositivoMovil
};
client.UploadValuesCompleted += (sender, e) =>
{
    byte[] result = e.Result;
    // TODO: Do something with the response returned from the controller
};
client.UploadValuesAsync(new Uri("http://example.com/home/emptyresult"), values);

对于更高级的绑定方案,您可以查看此blog post