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 绑定如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
dictionary.Add( " 1 " , " 张三 " );
dictionary.Add( " 2 " , " 李四 " );
dictionary.Add( " 3 " , " 王五 " );
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
< 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%> 就可以了。