在添加引用并在网格视图中显示后,在aspx页面中调用Web服务

时间:2013-12-18 11:52:05

标签: asp.net web-services

我添加了Web服务的引用,我想在Grid View中显示Service生成的数据。

Test.getNew fc = new getNew();
fc.getDetail(TextBox1.Text);

上面的代码没有结果。

如果我这样做

Test.getNew fc = new getNew();
DataSet ds = new DataSet();
ds= fc.getDetail(TextBox1.Text);

然后上面的代码给出了一个错误:无法将类型'System.Xml.XmlNode'隐式转换为'System.Data.DataSet'

由于

1 个答案:

答案 0 :(得分:1)

您的错误清楚地表明您的Web方法正在返回System.Xml.XmlNode,并且您正尝试在数据集中获取它。

您需要验证两件事:

  1. 您的webmethod的返回类型应该是您在客户端期望的输出,在本例中为数据集。
  2. 您的服务可以返回数据集。
  3. 修改 您的解决方案看起来像是:

    Test.getNew fc = new getNew();
    XmlNode node = fc.getDetail(TextBox1.Text);
    DataSet dataset = new DataSet();
    if (node!= null)
    {
      XmlTextReader xmlTextReader = new XmlTextReader(node.OuterXml, XmlNodeType.Element, null); 
      dataset.ReadXml(xtr);
    }
    

    然后使用数据集作为控件的数据源。