Repeater绑定ArrayList数据源 就相当与把ArrayList的数据绑定到Repeater的ItemTemplate 上 就是RepeaterItem等于ArrayList的一项例如
MessageBox MBx = new MessageBox(); 'MessageBox 为一个类
ArrayList lst = new ArrayList();
lst.Add(MBx);
Repeater1.DataSource = lst;
Repeater1.DataBind();
这样 在页面上
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand" >
<ItemTemplate>
<div style="width:200px; height:100px; background-color:Green;"><%#Container.DataItem%>>
</div>
</ItemTemplate>
</asp:Repeater>
就会输出MessageBox 类名称
说明 RepeaterItem就相当于 MBx
看 MSDN 上讲,可以作为数据绑定控件的数据源对象需要继承并实现 IEnumerable 或 IListSource 接口。
而 Dictionary 字典类很明显是继承并实现了 IEnumerable 接口的,那么如何将一个 Dictionary 对象绑定到 Repeater 等控件呢?
Dictionary 绑定如下:
dictionary.Add("1","张三");
dictionary.Add("2", "李四");
dictionary.Add("3", "王五");
<asp:Repeater id="List" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>站长</th>
<th>网站</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("key")%></td>
<td><%#Eval("value")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
如果使用的是 ArrayList 等类时,绑定时,直接用 <%# Container.DataItem%> 就可以了。