2014-12-17 5 views
0

я следующий ниже код в C# на клиенте в SilverLight приложения, чтобы получить возможность отправлять некоторые данные IHttpHandler как серверКак определить, когда «форма пост» завершается

var newForm = doc.CreateElement("form"); 
newForm.SetAttribute("action", somUri); 
newForm.SetAttribute("method", "post"); 

body.AppendChild(newForm); 

newForm.AppendChild(CreateInputElement(doc, "data", someData)); 
newForm.AppendChild(CreateInputElement(doc, "filename", filename)); 
newForm.AppendChild(CreateInputElement(doc, "contentType", contentType)); 

var obj = newForm.Invoke("submit"); 

Проблема в том, я не могут быть уверены, когда данные, отправленные на сервер IHttpHandler на сервере, действительно завершены.

новыйForm.Invoke ("submit"); выше, похоже, делает вызов отправки и не блокируется, даже если сервер не завершил свою работу.

Есть ли способ зарегистрировать обратный вызов, чтобы я знал, что обработка на сервере завершена?

Благодаря

ответ

1

Насколько я знаю, вы не можете иметь обратного рода вещи для метода POST формы в Silverlight.

У меня есть еще одна альтернатива для вас. Вызовите javascript-метод из кода Silverlight C# и сделайте запрос ajax. Тогда у вас будет обработчик обратного вызова успеха, а также обратный вызов Error, чтобы он соответствовал вашей бизнес-логике.

Вы можете сослаться на этот link на предмет того, как вызвать javascritpt из кода Silverlight C# и метода Silverlight C# из javascript.

Знайте, что System.Windows.Browser.HtmlPage.Window.Invoke может стать проблемой безопасности.

Я надеюсь, что это поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^