ASP.NET-DataList控件-DataList嵌套
2015-07-11 00:25
561 查看
DataList是ASP.NET的数据控件之一,在使用时要对其进行数据绑定。但是使用过程中难免会出现需要根据已绑定表中的某列数据来作进一步的查询和显示,就需要使用DataList嵌套来解决此类问题。
举例:
1.要显示一张公司的组织结构表,要显示公司所属的不同部门,也要显示各个部门所属的人员。
2.在商品列表中,要根据商品的ID,查询出商品的所有信息,而查询时,在数据库中并不是所有的数据都在同一张表中,要根据商品ID在多张表中查询商品的信息并显示出来。
以上的情况,使用一级DataList是无法完成的,需要使用DataList嵌套。
一、前台代码
二、后台代码
三、总结
1.根据ID使用e.Item.FindControl方法在父级DataList中找到要绑定的子级DataList,并强制转换为DataList对象
2.使用Eval(e.Item.DataItem,"keyword")方法获取父级DataList中的某项Item所绑定的keyword列的数据。
3.根据keyword继续查询,绑定子级DataList数据
举例:
1.要显示一张公司的组织结构表,要显示公司所属的不同部门,也要显示各个部门所属的人员。
2.在商品列表中,要根据商品的ID,查询出商品的所有信息,而查询时,在数据库中并不是所有的数据都在同一张表中,要根据商品ID在多张表中查询商品的信息并显示出来。
以上的情况,使用一级DataList是无法完成的,需要使用DataList嵌套。
一、前台代码
<asp:DataList id="ParentList" runat=“server" OnItemDataBound="ParentList_OnItemDataBound"> <ItemTemplate> <%#DataBinder.Eval(Container.DataItem,"parent")%> <asp:DataList id="ChildList" runat=“server"> <ItemTemplate> <%#DataBinder.Eval(Container.DataItem,"child")%> </ItemTemplate> </asp:DataList> </ItemTemplate> </asp:DataList>
二、后台代码
protected void ParentList_OnItemDataBound(object source,DataListItemEventArgs e) { DataList ChildList = (DataList)e.Item.FindControl("ChildList"); int id = int.parse(Eval(e.Item.DataItem,"keyword").ToString()); String strSql = "select * from table where id = " + id; /*获取查询结果myds后进行数据绑定*/ ChildList.DataSource = myds; ChildList.DataBind(); }
三、总结
1.根据ID使用e.Item.FindControl方法在父级DataList中找到要绑定的子级DataList,并强制转换为DataList对象
2.使用Eval(e.Item.DataItem,"keyword")方法获取父级DataList中的某项Item所绑定的keyword列的数据。
3.根据keyword继续查询,绑定子级DataList数据
相关文章推荐
- ASP.NET按钮点击后弹出确认提示
- asp.net 发送邮件代码 System.Net.Mail
- ASP.net Xml
- Asp.NET MVC--【Asp.net】
- 旧版asp.net 发送邮件代码
- ASP.NET性能优化之让浏览器缓存动态网页
- ASP.NET性能优化之构建自定义文件缓存
- asp.net配置web站点教程---图不知道跑哪里去了,坑
- ASP.NET Web API从注释生成帮助文档
- ASP.Net MVC学习(二)
- ASP.NET MVC下的四种验证编程方式[续篇]【转】
- ASP.NET MVC下的四种验证编程方式【转】
- asp.net 显示等待提示,完成后隐藏消失
- Windows Server 2012/win8 iis8 上安装 asp.net 4.5 当时用了mvc5 .net framework 4.5 所以得装下
- ASP.NET MVC Model验证总结【转】
- 给asp.net刚学的人的一点经验(一)
- 给asp.net刚学的人的一点经验(一)
- WCF技术剖析之六:为什么在基于ASP.NET应用寄宿(Hosting)下配置的BaseAddress无效
- WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务
- asp.net 去重复验证