2012-07-25 18 views
7

Basit bir dize listesini tekrarlayıcıya nasıl bağlarım? Tekrarlayıcının Bind Listesi (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

basitçe:

 <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 gelen değeri her zaman boştur.

Herhangi bir fikrin var mı?

cevap

5

<SeparatorTemplate>'u <ItemTemplate> olarak değiştirin ve işe yaramalısınız!

SeparatorTemplate'de DataItem yoktur. Ayırıcı iki öğe arasındadır, her zaman n-1 ayırıcı vardır, bu yüzden veri bağlantısı işe yaradıysa, her zaman kullanılmayan son maddeyi bırakır.

+0

Teşekkürler - aptal yazım hatası beni geçmiş 1/2 saat boyunca çemberler! –

+0

Ayırıcı şablonuna veri bağlayamamanız ilginç - her gün yeni bir şey yağlayın! –

+0

İki öğe arasında yalnızca bir ayırıcı vardır, bu nedenle hangi veri bağlantısı gerekir? Ayırıcıdan önceki, sonra ya da sadece hiçbir şey (== null)? – Willem