XMLDataSource с привязкой фильтра к DropDownList - PullRequest
1 голос
/ 06 декабря 2011

У меня есть XML

<AddressTypes>
  <AddressType name="OFFICE" value="OFFICE" status="true"/>
  <AddressType name="HOME" value="HOME" status="true"/>
  <AddressType name="PRIVATE" value="PRIVATE" status="false"/>
</AddressTypes>

Я связываю это с DropDownList как

<asp:DropDownList ID="AddressTypesList" runat="server"
            AppendDataBoundItems="true"
            CssClass="selectbox" 
            DataSourceID="AddressesXMLSource"
            DataTextField="name"
            DataValueField="value">
    <asp:ListItem Text="ALL" Value=""></asp:ListItem>
</asp:DropDownList>
<asp:XmlDataSource ID="AddressesXMLSource" runat="server" 
        DataFile="~/App_Data/AdressTypes.xml" 
        XPath="/AddressTypes/AddressType">
</asp:XmlDataSource>

Я получаю все три поля здесь. Но я хотел бы отфильтровать результат, чтобы я мог заполнить только AddressType, где status = "true". Как это сделать?

1 Ответ

3 голосов
/ 06 декабря 2011

Попробуйте изменить свой XPath в своем источнике XmlDataSource, включив в него [@status = 'true'], чтобы включить только те элементы, которые соответствуют статусу "true".

Ваша новая строка xpath будет выглядеть так:1003 *

/AddressTypes/AddressType[ @status = 'true' ]
...