服务器之家

服务器之家 > 正文

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

时间:2019-11-03 19:20     来源/作者:asp.net教程网

.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 对象 这样的类型是不能直接作为它的数据源的,尤其要注意对象引起的问题

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
返回顶部