而Dictionary字典类很明显是继承并实现了IEnumerable接口的,那么,如何讲一个Dictionary对象绑定到Repeater等控件呢?
--------------------
下面给出示例(片段)
1
public class DicTest:Page
2
{
3
protected Repeater nameList;
4
Dictionary<string,string> listSource=new Dictionary<string,string>();
5
public DicTest()
6
{
7
listSource.Add("Mc1","McJeremy");
8
listSource.Add("Mc2","McJeremy");
9
listSource.Add("Mc3","McJeremy");
10
listSource.Add("Mc4","McJeremy");
11
}
12
private void Page_Load(object sender, EventArgs e)
13
{
14
nameList.DataSource=listSource;
15
nameList.DataBind();
16
}
17
override protected void OnInit(EventArgs e)
18
{
19
Initialize();
20
base.OnInit(e);
21
}
22
private void Initialize()
23
{
24
this.Load+=new EventHandler(this.Page_Load);
25
}
26
}
:
2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

--------------------
而在前台的使用则是通过数据绑定,如下所示(片段)
1
<table>
2
<asp:Repeater id="nameList" runat="server">
3
<ItemTemplate>
4
<tr>
5
<td>键:<%#Eval("key")%></td>
6
<td>值:<%#Eval("value")%></td>
7
</tr>
8
</ItemTemplate>
9
</asp:Repeater>
10
</table>

2

3

4

5

6

7

8

9

10

------------
如果使用的是ArrayList等类时,
绑定时,直接用 <%# Container.DataItem%>就可以了。。。