Repeater绑定dictionary数据源代码及报错解决
更新时间:2013年04月18日 17:22:36 作者:
为大家讲解下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 对象 这样的类型是不能直接作为它的数据源的,尤其要注意对象引起的问题
复制代码 代码如下:
<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 对象 这样的类型是不能直接作为它的数据源的,尤其要注意对象引起的问题
您可能感兴趣的文章:
- Repeater事件OnItemCommand取得行内控件的方法
- Repeater控件与PagedDataSource结合实现分页功能
- Repeater控件实现编辑、更新、删除等操作示例代码
- Repeater怎么实现多行间隔显示分隔符
- Repeater中嵌套Repeater的示例介绍
- repeater做删除前弹窗询问实例
- 给Repeater控件里添加序号的5种才常见方法介绍
- asp.net Repeater 数据绑定的具体实现(图文详解)
- .net JS模拟Repeater控件的实现代码
- Repeater控件绑定的三种方式
- 利用js的Node遍历找到repeater的一个字段实例介绍
- ASP.NET笔记之 Repeater的使用
- asp.net Repeater分页实例(PageDataSource的使用)
- asp.net中使用repeater和PageDataSource搭配实现分页代码
- Repeater里switch的使用方法
- Repeater控件动态变更列(Header,Item和Foot)信息(重构cs)
- Repeater的FooterTemplate显示某列总计思路与代码
- 嵌套repeater示例分享
相关文章
asp.net Page.EnableEventValidation 属性验证服务器控件的回发和回调事件出现的错误
Page.EnableEventValidation 属性验证服务器控件的回发和回调事件出现的错误前两天用jQuery做了一个包含DropDownList联动的页面,数据通过Ajax请求得到的。2010-10-10asp.net 枚举文件里面的数字绑定到DropDownList里面去
将枚举文件里面的数字绑定到DropDownList里面去的实现方法,大家可以借鉴下。2009-07-07visual studio 2015+opencv2.4.13配置教程
这篇文章主要为大家详细介绍了visual studio 2015+opencv2.4.13配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-11-11点击图片,AJAX删除后台图片文件的实现代码(asp.net)
点击页面上的图片,用jQuery的AJAX来删除后台真实的文件。2010-11-11.Net Core Aop之IResourceFilter的具体使用
本文主要介绍了.Net Core Aop之IResourceFilter的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-02-02
最新评论