将列表(字符串)绑定到中继器

Geo*_*kos 7 vb.net asp.net arraylist

如何将简单的字符串列表绑定到转发器?

Protected Sub Page_Load(sender As Object, e As System.EventArgs)

    'create sample data:
    Dim photos As New List(Of String)
    photos.Add("large1.jpeg")
    photos.Add("large2.jpeg")
    photos.Add("large3.jpeg")
    photos.Add("large4.jpeg")
    photos.Add("large5.jpeg")

    'bind data:
    Repeater1.DataSource = photos
    Repeater1.DataBind()

End Sub
Run Code Online (Sandbox Code Playgroud)

HTML简单地说:

        <asp:Repeater ID="Repeater1" runat="server" ClientIDMode="Predictable">
            <HeaderTemplate><ul></HeaderTemplate>
            <FooterTemplate></ul></FooterTemplate>
            <SeparatorTemplate>
                <li>
                    <asp:Image ID="img_photo" runat="server" ImageUrl="<%# Container.DataItem %>" /></li>
            </SeparatorTemplate>
        </asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

Container.DataItem中的值始终为空.

有任何想法吗?

Wil*_*lem 5

更改<SeparatorTemplate><ItemTemplate>它应该工作!

SeparatorTemplate没有DataItem.分隔符位于两个项目之间,总是有n-1个分隔符,因此如果数据绑定确实有效,它将始终保留最后一个项目.