具有绑定到 DropDownList 的筛选器的 XMLDataSource

发布于 2024-12-20 01:14:52 字数 938 浏览 0 评论 0原文

我有一个 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>

我在这里获取所有三个字段一样。但我想过滤结果,以便我可以仅填充 status="true" 的 AddressType。怎么做呢?

I have an XML

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

I bind this to a DropDownList like

<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>

I get all the three fields here. But I would like to filter the result so that I may populate only AddressType where status="true". How to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泼猴你往哪里跑 2024-12-27 01:14:52

尝试修改 XmlDataSource 中的 XPath 以包含 [ @status = 'true'] 以仅包含与“true”状态匹配的元素。

你的新 xpath 字符串将如下所示:

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

Try modifying your XPath in your XmlDataSource to include [ @status = 'true'] to only include the elements that match the "true" status.

Your new xpath string would look like this then:

/AddressTypes/AddressType[ @status = 'true' ]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文