如何将Dictionary绑定到Repeater?

看MSDN上讲,可以作为数据绑定控件的数据源对象需要继承并实现IEnumerable或 IListSource接口。
而Dictionary字典类很明显是继承并实现了IEnumerable接口的,那么,如何讲一个Dictionary对象绑定到Repeater等控件呢?
--------------------
下面给出示例(片段)
 1public 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}

--------------------
而在前台的使用则是通过数据绑定,如下所示(片段)
 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>

------------
如果使用的是ArrayList等类时,
绑定时,直接用 <%# Container.DataItem%>就可以了。。。
posted @ 2008-05-20 09:24  mcjeremy  阅读(1724)  评论(0编辑  收藏  举报
------------------------------------ 心静似高山流水不动,心清若巫峰雾气不沾 ------------------------------------