2011-05-08 2 views
2

국가 웹 서비스를 드롭 다운 목록에 추가하려고합니다. 웹 참조를 추가하고 discomap 및 wsdl 파일이 있습니다. consuming country.asmx

net.webservicex.www.country ws = new net.webservicex.www.country(); 
ddlCountry.DataSource = ws.GetCountries(); 
ddlCountry.DataBind(); 

내가 위의 코드를했지만, 그것은 단지 드롭 다운리스트에서 한 줄에 하나의 문자를 표시

여기에 내 코드 숨김입니다. 이 작업을 수행하는 방법을 잘 모르겠습니다. 웹 서비스를 처음 사용하는 것입니다. 어떤 도움을 주셔서 감사합니다. 감사!

+1

ws.GetCountries()가 반환하는 개체는 무엇입니까? – Avitus

+0

나는 그것이 문자열이라고 생각한다. 어떻게 확인하나요? – multiv123

+0

GetCountries();에 대한 서명을 확인하십시오. –

답변

2

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(); 
     } 
    } 
} 
+0

고마워요 !!! 이것은 정말 내 코드를 단순화합니다. – multiv123

+0

SQL 데이터베이스에 드롭 다운 목록 선택을 추가하려고하지만 ddlCountry.SelectedValue를 insert 문에 사용하면 dropdownlist의 첫 번째 값만 테이블에 표시됩니다. onselectedindexchanged를 사용하여 값을 저장해야합니까? 어떤 코드를 사용해야합니까? TIA. – multiv123

관련 문제