服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP.NET教程 - Repeater绑定dictionary数据源代码及报错解决

Repeater绑定dictionary数据源代码及报错解决

2019-11-03 19:20asp.net教程网 ASP.NET教程

为大家讲解下Repeater绑定dictionary数据源以及报错处理的方法,感兴趣的朋友可以参考下哈,希望对你有所帮助

.aspx页面代码 

复制代码代码如下:


<asp:Repeater ID="Repeater1" runat="server"> 
<ItemTemplate> 
<%# ((KeyValuePair<int, List<User>>)Container.DataItem).Key %> <br /> 
<asp:Repeater ID="Repeater2" runat="server" DataSource='<%# ((KeyValuePair<int, List<User>>)Container.DataItem).Value %>'> 
<ItemTemplate> 
<%# (Container.DataItem as User).Id %> 
<%# (Container.DataItem as User).Name %> 
</ItemTemplate> 
</asp:Repeater> 
<hr /> 
</ItemTemplate> 
</asp:Repeater> 


.aspx.cs后置代码 

复制代码代码如下:


public partial class Temp : System.Web.UI.Page 

Dictionary<int, List<User>> dict = new Dictionary<int, List<User>>(); 
protected void Page_Load(object sender, EventArgs e) 

dict.Add(1, new List<User> 

new User{Id = 1, Name = "aa"} 
,new User{Id = 2, Name = "bb"} 
}); 
dict.Add(2, new List<User> 

new User{Id = 3, Name = "cc"} 
,new User{Id = 4, Name = "dd"} 
}); 
Repeater1.DataSource = dict; 
Repeater1.DataBind(); 


public class User 

public int Id{get;set;} 
public string Name{get;set;} 


如果报以下错误
repeater 使用的是无效数据源。有效数据源必须实现 IListSource 或 IEnumerable? 
是因为数据源类型问题,比如 DataTable DataSet Xml Arrry 集合 
像 String int 对象 这样的类型是不能直接作为它的数据源的,尤其要注意对象引起的问题

延伸 · 阅读

精彩推荐