而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
}
:![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
26
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
--------------------
而在前台的使用则是通过数据绑定,如下所示(片段)
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>
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
------------
如果使用的是ArrayList等类时,
绑定时,直接用 <%# Container.DataItem%>就可以了。。。