【IT168技术文档】
看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}
如果使用的是ArrayList等类时,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>
绑定时,直接用 <%# Container.DataItem%>就可以了。。。