如何使用 XmlDataSource 配置转发器控件以仅显示特定元素值的数据?
How do i configure a repeater control to display data only of a particular element value with XmlDataSource?
所以在我开始之前,这是我的 xml 文件中的一些数据
<item>
<menuType>Lunch</menuType>
<itemName>Sweet Caramel</itemName>
<price>30</price>
<preparationTime>20</preparationTime>
</item>
<item>
<menuType>Dinner</menuType>
<itemName>Cocoa Swirl Cheesecake</itemName>
<price>9</price>
<preparationTime>30</preparationTime>
</item>
<item>
<menuType>Lunch</menuType>
<itemName>Spanish Monkfish</itemName>
<price>10</price>
<preparationTime>30</preparationTime>
</item>
<item>
<menuType>Dinner</menuType>
<itemName>Ice Cream</itemName>
<price>20</price>
<preparationTime>10</preparationTime>
</item>
<item>
<menuType>Lunch</menuType>
<itemName>Complete Fruit Salad</itemName>
<price>10</price>
<preparationTime>15</preparationTime>
</item>
所以我的问题是,如何配置我的转发器控件以仅显示 menuType 值为 'Lunch'
的项目
我明白了。您需要在 XmlDataSource
XPath
属性 中设置过滤器。 XPath="/items/item[menuType='Lunch']"
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="menuItems.xml" XPath="/items/item[menuType='Lunch']"></asp:XmlDataSource>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1">
<ItemTemplate>
<%# XPath("menuType") %>
<br />
<%# XPath("itemName") %>
<br />
<%# XPath("price") %>
<br />
<%# XPath("preparationTime") %>
<hr />
</ItemTemplate>
</asp:Repeater>
所以在我开始之前,这是我的 xml 文件中的一些数据
<item>
<menuType>Lunch</menuType>
<itemName>Sweet Caramel</itemName>
<price>30</price>
<preparationTime>20</preparationTime>
</item>
<item>
<menuType>Dinner</menuType>
<itemName>Cocoa Swirl Cheesecake</itemName>
<price>9</price>
<preparationTime>30</preparationTime>
</item>
<item>
<menuType>Lunch</menuType>
<itemName>Spanish Monkfish</itemName>
<price>10</price>
<preparationTime>30</preparationTime>
</item>
<item>
<menuType>Dinner</menuType>
<itemName>Ice Cream</itemName>
<price>20</price>
<preparationTime>10</preparationTime>
</item>
<item>
<menuType>Lunch</menuType>
<itemName>Complete Fruit Salad</itemName>
<price>10</price>
<preparationTime>15</preparationTime>
</item>
所以我的问题是,如何配置我的转发器控件以仅显示 menuType 值为 'Lunch'
的项目我明白了。您需要在 XmlDataSource
XPath
属性 中设置过滤器。 XPath="/items/item[menuType='Lunch']"
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="menuItems.xml" XPath="/items/item[menuType='Lunch']"></asp:XmlDataSource>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1">
<ItemTemplate>
<%# XPath("menuType") %>
<br />
<%# XPath("itemName") %>
<br />
<%# XPath("price") %>
<br />
<%# XPath("preparationTime") %>
<hr />
</ItemTemplate>
</asp:Repeater>