2010-09-14 58 views
1

我有一個XML文件結構如下:數據綁定到XML文件

<Levels> 
    <Level Code="T" Text="Test"> 
    <SubLevels> 
     <SubLevel Type="9" Text="Nine"/> 
     <SubLevel Type="8" Text="Eight"/> 
     <SubLevel Type="7" Text="Seven"/> 
     <SubLevel Type="6" Text="Six"/> 
    </SubLevels> 
    </Level> 
    <Level Code="T2" Text="Test 2"> 
    <SubLevels> 
     <SubLevel Type="1" Text="One"/> 
     <SubLevel Type="2" Text="Two"/> 
    </SubLevels> 
    </Level> 
</Levels> 

我想在兩個下拉列表,一個鏈接到/級別/層次一到能級所選級別。目前,我有一個主要的綁定如下:

<asp:XmlDataSource ID="XmlLevelInfo" runat="server" DataFile="~/Levels.xml"> 
</asp:XmlDataSource> 
<asp:DropDownList ID="cboLevelFilter" runat="server" 
         DataSourceID="XmlLevelInfo" DataTextField="Text" DataValueField="Code"> 
</asp:DropDownList> 

這工作正常,但我不能解決如何鏈接到第二個下拉列表的子級別。這可能使用數據綁定?

+0

其他下拉列表中的datacontact也許設置爲第一一個與路徑的SelectedItem,然後在指定的ItemsSource的路徑DATAC的孩子ontext – 2010-09-14 15:38:27

回答

0

我會期望你的第二個下拉列表中的XmlDataSource需要有它的XPath多種多樣第一的SelectedItemChanged。

,使得它的XPath看起來像: //Level[@Code = '<CODE VALUE FROM SELECTED ITEM>']//SubLevel

你可能也想最初只是與所有子級別綁定它使得XPath的可能看起來像://SubLevel

然後,它會帶一點點額外的努力,AJAX的IFY這一切對於一個很好的經驗......(不要忘記的AutoPostBack設置爲true第一個下拉!)