2012-07-25 10 views
7

Come si può associare un semplice elenco di stringhe a un ripetitore?Elenco di binding (di stringa) a ripetitore

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 

L'HTML è semplicemente:

 <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> 

Il valore da Container.DataItem è sempre vuoto.

Qualche idea?

risposta

5

Modificare <SeparatorTemplate> a <ItemTemplate> e dovrebbe funzionare!

Il modello di separazione non ha DataItem. Il separatore si trova tra due elementi, ci sono sempre separatori n-1, quindi se il databinding funzionava, lasciava sempre l'ultimo elemento inutilizzato.

+0

Grazie - lo stupido errore di battitura mi ha fatto girare per mezz'ora. –

+0

Interessante che non è possibile associare i dati nel modello separatore - magra qualcosa di nuovo ogni giorno! –

+0

C'è solo un separatore tra due elementi, quindi a quale data deve essere associato? quello prima del separatore, quello dopo o proprio niente (== null)? – Willem

Problemi correlati