2010-11-30 3 views
1

У меня есть приложение на MVC, которые имеют контроллер с методом постаобъекта проводки к контроллеру MVC2 из Silverlight

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

И у меня есть еще один SilverLight приложения, которое нужно использовать этот метод, как я могу послать DispositivoMovil объект к этому методу?

ответ

1

Вы не можете напрямую отправить объект этому контроллеру из приложения Silverlight. Вам нужно отправить запрос HTTP POST, используя, например, WebClient и передать значения в теле 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.

+0

Спасибо за ответ, это было очень полезно для меня. В silverlight вы должны использовать класс. Словарь parameters = new Dictionary (); parameters.Add ("Serial", dispositivo.Serial); parameters.Add ("Observaciones", dispositivo.Observaciones); – Manuel 2010-11-30 17:52:04