[英]How to detect when “form post” is completed
我在Silverlight应用程序的客户端的C#中具有以下以下代码,以将一些数据作为服务器发布到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的数据何时真正完成。
newForm.Invoke( “提交”); 即使服务器尚未完成工作,上述方法似乎也可以进行Submit调用,并且不会阻塞。
有什么方法可以注册回调,以便使我知道服务器上的处理已完成吗?
谢谢
据我所知,您无法在Silverlight中使用回调形式的POST方法。
我还有另一种选择。 从Silverlight C#代码调用javascript方法,然后在其中发出post ajax请求。 然后,您将拥有成功的回调处理程序以及错误回调,可以使用它来纠正您的业务逻辑。
您可以参考此链接 ,了解如何从Silverlight C#代码调用Javascritpt,以及如何从javascript调用Silverlight C#方法。
请注意System.Windows.Browser.HtmlPage.Window.Invoke
它可能会成为安全问题。
希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.