我正在为Windows应用程序构建我的第一个应用程序。我的要求是 - 在单击按钮时我想导航到另一个页面,在该页面中,我希望通过执行xml解析直接从soap Web服务显示数据。
按钮事件代码:
private void button1_Click(object sender, RoutedEventArgs e)
{
KejriwalService.arvindSoapClient client = new KejriwalService.arvindSoapClient();
client.getarvindNewsCompleted += new EventHandler<KejriwalService.getarvindNewsCompletedEventArgs>(client_getarvindNewsCompleted);
}
void client_getarvindNewsCompleted(object sender, KejriwalService.getarvindNewsCompletedEventArgs e)
{
textBlock1.Text = e.Result.ToString();
}
我从这里得不到任何结果。谁能请帮忙。我想从此Web方法中提取3个文本字段和1个图像
答案 0 :(得分:1)
您已将该委托关联,但尚未调用该方法。你可能有像
这样的方法 KejriwalService.arvindSoapClient.DoSomethingAsync()
这将触发事件,之后它将在WebService的响应到来时触发client_getarvindNewsCompleted
方法。
修改强>
只需记住在WebService方法中使用[WebMethod]
attribute。
public class Service1 : System.Web.Services.WebService
{
[System.Web.Services.WebMethod]
public string getarvindNews()
{
return "I am a string";
}
}
在您的代码中,您可以像这样调用此异步:
private void button1_Click(object sender, RoutedEventArgs e)
{
KejriwalService.arvindSoapClient client = new arvindSoapClient();
client.getarvindNewsCompleted += new
EventHandler<getarvindNewsCompletedEventArgs>(client_getarvindNewsCompleted);
//Call the method async and get its result in client_getarvindNewsCompleted
client.getarvindNewsAsync();
}
void client_getarvindNewsCompleted(object sender, getarvindNewsCompletedEventArgs e)
{
textBlock1.Text = e.Result.ToString();
}
答案 1 :(得分:1)
只需检查您的网络服务即可。您的代码很完美,但您需要更改您的Web服务。不要从你的web方法返回字符串,但返回xml