2012-07-25 15 views
7

単純なリストリストをリピーターにバインドするにはどうすればよいですか?リピーターへのバインドリスト(Of String)

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 

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> 

Container.DataItemからの値は常に空です。

アイデア?

答えて

5

<SeparatorTemplate>から<ItemTemplate>に変更しても問題ありません。

SeparatorTemplateにはDataItemがありません。セパレータは2つの項目の間にあり、常にn-1個のセパレータがあるため、データバインディングが機能する場合は、最後の項目は使用されないままになります。

+0

ありがとう - 愚かなタイプミスは、過去の1/2時間のサークルで私を持っていた! –

+0

興味深いことに、セパレータテンプレートのデータをバインドすることはできません。 –

+0

2つのアイテムの間にセパレータだけがあるので、どのデータアイテムにバインドする必要がありますか?セパレータの前にあるもの、後にあるもの、または何もないもの(== null)? – Willem

関連する問題