ASP.NET转发器仅呈现XML数据源中的第一项

时间:2014-05-10 13:05:58

标签: c# asp.net xml repeater xmldatasource

我有一个XML数据源:

<?xml version="1.0" encoding="utf-8" ?>
<Data>
    <items>
        <item id="1" text="X" />
        <item id="2" text="Y" />
        <item id="3" text="Z" />
    </items>
</Data>

在我的页面中,我将其连接到asp:XmlDataSource

<asp:XmlDataSource runat="server" ID="data" DataFile="~/items.xml" />

并将其绑定到asp:Repeater

<asp:Repeater runat="server" ID="list" DataSourceID="data">
    <HeaderTemplate>
        <ul>
    </HeaderTemplate>
    <ItemTemplate>
        <li data-id="<%# XPath("item/@id") %>"><%# XPath("item/@text") %></li>
    </ItemTemplate>
    <FooterTemplate>
        </ul>
    </FooterTemplate>
</asp:Repeater>

但我只获得了物品清单中的第一项。我如何得到它们?

1 个答案:

答案 0 :(得分:2)

首先在XmlDataSource中添加一个`XPath =“/ Data / items / item”'属性,然后将ItemTemplate中的li元素更改为:

<li data-id="<%# XPath("@id") %>"><%# XPath("@text") %></li>