2012-07-25 47 views
7

如何將簡單的字符串列表綁定到中繼器?中繼器綁定列表(字符串)

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。分隔符介於兩個項目之間,總是有n-1個分隔符,所以如果數據綁定確實起作用,它將始終保留最後一個項目未使用。

+0

感謝 - 愚蠢的錯字讓我在過去的半小時內圈子! – 2012-07-25 14:26:03

+0

有趣的是,你不能在分隔符模板中綁定數據 - 每天都要新的東西! – 2012-07-25 14:28:04

+0

兩個項目之間只有一個分隔符,所以應該綁定哪個數據項?分隔符之前的那個,後面的一個或者什麼都沒有(== null)? – Willem 2012-07-25 14:30:49