我正在尝试将国家/地区 Web 服务添加到下拉列表中。我已经添加了 Web 引用并拥有 discomap 和 wsdl 文件。
这是我的代码隐藏:
net.webservicex.www.country ws = new net.webservicex.www.country();
ddlCountry.DataSource = ws.GetCountries();
ddlCountry.DataBind();
我试过上面的代码,但它在下拉列表中每行只显示一个字符。我不太确定该怎么做,这是我第一次使用网络服务。我感谢任何帮助。谢谢!
最佳答案
GetCountries() 返回 XML。您需要解析 XML 以获取国家/地区列表作为字符串列表。
如果您有 .NET 3.5 或更高版本,则可以使用 LINQ to XML 轻松完成此操作。
using System;
using System.Linq;
using System.Xml.Linq;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var service = new net.webservicex.www.country();
var xml = service.GetCountries();
var countries = XDocument.Parse(xml).Descendants("Name").Select(arg => arg.Value).ToList();
countriesDropDownList.DataSource = countries;
countriesDropDownList.DataBind();
}
}
}
关于c# - 消费国.asmx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5925133/