2012-06-04 82 views
1

我将XML值绑定到DropDownList。下面是我的代码:无法将数据绑定到DropDownList

protected void LoadDropdown() 
{ 
    DataSet ds = new DataSet(); 
    ds.ReadXml (Server.MapPath(@"XMLFile1.xml")); 

    DropDownList1.DataTextField = "country_Id";   
    DropDownList1.DataSource = ds; 
    DropDownList1.DataBind(); 
    DropDownList1.Items.Insert(0,new ListItem(" Select ","0")); 
}  

我想在DropDownList中获取国家名称,但我得到的id值如0,1,2,3。我究竟做错了什么?

回答

1

尝试指定为DataTextField别的东西:

DropDownList1.DataTextField = "country_Name"; //This value depends on what your XML structure is. 
DropDownList1.DataValueField = "country_Id"; 
+0

正好我有与datatextfield为数据集的问题越来越COUNTRY_ID到这个领域,我想,而不是显示的名字.. – user1435482

+0

我看起来像这样 印度 \t \t 马哈拉施特拉邦 \t 克什米尔 \t 果阿 \t user1435482

+0

请注意,我将'country_Id'分配给'DataValueField'而不是'DataTextField'。 'DataTextField'是get的显示内容,'DataValueField'是在HTML中分配的值,但对页面的用户不可见。 –

0

,如果你的xml看起来像这样

<?xml version="1.0" encoding="utf-8" ?> 

<Items> 
<Item ddlValue="1" ddlText="YourlistItem1" /> 
<Item ddlValue="2" ddlText="YourlistItem2" /> 
<Item ddlValue="3" ddlText="YourlistItem3" /> 
</Items> 

后面的代码为你的下拉列表应该是

protected void Page_Load(object sender, EventArgs e) 
{ 
    DataSet ddlDataSource = new DataSet(); 
    ddlDataSource.ReadXml(MapPath("XmlFile.xml")); 
    DropDownList1.DataSource = ddlDataSource; 
    DropDownList1.DataBind(); 
} 

希望这有助于。

+0

我的XML看起来像这样 印度 \t \t 马哈拉施特拉邦 \t 克什米尔 \t 果阿 \t user1435482

0

我发现了我的问题的解决方案。

protected void LoadDropdown() 
    { 
     DataSet ds = new DataSet(); 
     ds.ReadXml(Server.MapPath(@"XMLFile1.xml")); 
     DropDownList1.DataTextField = "name"; 
     DropDownList1.DataSource = ds; 
     DropDownList1.DataBind(); 
     DropDownList1.Items.Insert(0, new ListItem(" Select ", "0")); 
    } 
相关问题