2014-05-13 23 views
0

我有一个aspx文件(Demo.aspx)和一个XML文件(color.xml)。 如何在下拉列表中加载XML文件? 如何映射我的下拉列表ID到XML文件(color.xml)如何加载一个XML文件下拉列表中.net

Demo.aspx:

<asp:Content ID="C2" ContentPlaceHolderID="ContentPlaceHolder10" runat="server"> 
<tr> 
    <td><asp:Label ID="L01" runat="server" Text="Colour :* " /></td> 
    <td> 
     <asp:RequiredFieldValidator ID="V1" ControlToValidate="v1color" CssClass="error" InitialValue="" Display="Dynamic" SetFocusOnError="true" runat="server"> 
     Please select a colours <br /> 
     </asp:RequiredFieldValidator> 
     <asp:UpdatePanel ID="Panel3" runat="server"> 
      <ContentTemplate> 
       <asp:DropDownList ID="v1color" DataTextField="ddl" Width="100%" TabIndex="16" runat="server" /> 
      </ContentTemplate>     
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="ddlasyRequest" EventName="SelectedIndexChanged" /> 
      </Triggers> 
     </asp:UpdatePanel> 
    </td> 
</tr> 

</asp:Content> 

color.xml:

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

<Items> 
    <Item ddlText="None" /> 
    <Item ddlText="Natural - RED" /> 
    <Item ddlText="Natural - WHITE" /> 
    <Item ddlText="Natural - BLUE" /> 
    <Item ddlText="Natural - YELLOW" /> 
    <Item ddlText="Natural - GREEN" /> 

</Items> 

我对于DotNet框架来说是新的。谁来帮帮我。

+0

这肯定会帮助你:https://www.google.co.in/?q=asp.net%20dropdownlist%20xmldatasource – Abhitalks

回答

0

解决方案1 ​​:将您的下拉列表与XMLDataSource绑定。

在标记requried以下变化:

  1. 在您的标记添加XmlDataSource
  2. 提供XML文件的物理路径在DataFile
  3. 供应XPath查询来寻找XML文件Item元素。
  4. 绑定DataSourceID与下拉列表,并给予适当的DataTextFieldDataValueField

例子:

<asp:XmlDataSource ID="XmlDataSource1" runat="server" 
     DataFile="~/XML/XMLFile1.xml" XPath="//Item"></asp:XmlDataSource> 

<asp:DropDownList ID="v1color" DataSourceID="XmlDataSource1" 
           DataTextField="ddlText" 
           DataValueField="ddlText" 
           Width="100%" TabIndex="16" runat="server" /> 


解决方案2:加载XML在 XmlDocument并建立 ListItems

可以按照以下步骤:

  1. 装入XML在XmlDocument
  2. 为ddlText属性的每个XML节点检查,并得到其数值
  3. 从检索到的值使新ListItem并添加到您的DropDownList

类似的东西:

XmlDocument xDocument = new XmlDocument(); 
xDocument.Load(@"YourXmlFile.xml"); 

foreach (XmlNode node in xDocument.GetElementsByTagName("Item")) 
{ 
     v1color.Items.Add(new ListItem(node.Attributes["ddlText"].Value)); 
} 
0

下面应该工作

var doc = XDocument.Load("c:\path\to\your\xml\your.xml"); 
this.DropDownList1.DataSource = doc.Root.Descendants().Select(i => i.Attribute("ddlText").Value); 
this.DropDownList1.DataBind(); 
相关问题