在Repeater中嵌套使用Repeater

在Repeater中嵌套使用Repeater在一般的网站中浏览类别的用户控件通常都位于大多数ASP.NET页的左边,它使用户能够按类别快速的查找产品。最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加

大家好,又见面了,我是你们的朋友全栈君。

在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品。最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加进去。一来更方便,二来加长了左部导航栏的长度使页面更协调。原有的分类导航栏是由Repeater实现的,现在需要在每一个分类下加入该类的商品信息,于是我想到了在原有Repeater中嵌套Repeater。实现界面如下: 

<span role="heading" aria-level="2">在Repeater中嵌套使用Repeater

前台页面部分: 

<asp:Repeater id="rptCategories" runat="server"> 
  <HeaderTemplate> 
    <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
  </HeaderTemplate> 
  <ItemTemplate> 
    <!--分类名称--> 
    <tr><th><%# DataBinder.Eval(Container.DataItem, "TypeName") %></th></tr> 
    <!--分类下的产品--> 
    <asp:Repeater id="rptProduct" runat="server"> 
      <ItemTemplate> 
        <tr><td><a href='ProductInfo.aspx?Id=<%# DataBinder.Eval(Container.DataItem, "ID") %>'><%# DataBinder.Eval(Container.DataItem, "ProductName") %></a></td></tr> 
      </ItemTemplate> 
    </asp:Repeater> 
  </ItemTemplate> 
  <FooterTemplate> 
    </table> 
  </FooterTemplate> 
</asp:Repeater>

后台代码部分(部分代码): 

//在绑定分类品名时,绑定分类下的产品 
private void rptCategories_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e) 
{ 
    BLL.Products products =new BLL.Products(); 
    if (e.Item.ItemType == ListItemType.Item ||    e.Item.ItemType == ListItemType.AlternatingItem)  
    { 
        Repeater rptProduct = (Repeater) e.Item.FindControl("rptProduct"); 
        //找到分类Repeater关联的数据项 
        DataRowView rowv = (DataRowView)e.Item.DataItem; 
        //提取分类ID 
        int CategorieId = Convert.ToInt32(rowv["ID"]); 
        //根据分类ID查询该分类下的产品,并绑定产品Repeater 
        rptProduct.DataSource = products.GetProductsByCategorieId(CategorieId); 
        rptProduct.DataBind(); 
    } 
} 

http://www.cnblogs.com/esshs/archive/2005/04/07/132825.html

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154549.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQL Server 2008 评估期已过解决方法

    SQLServer2008有180天的试用期,过期后会提示“评估期已过”的提示。1、进入SQLServer安装中心:2、选择“维护”-“版本升级”3、输入密钥:其他的根据提示操作。附S

    2021年12月23日
    59
  • Windows系统日志分析工具– Log Parser「建议收藏」

    Windows系统日志分析工具– Log Parser「建议收藏」可参考文章:日志分析工具LogParser学习笔记_Memetali_ss的博客-CSDN博客写完才看见。吐了0x01基本设置事件ID及常见场景对于Windows事件日志分析,不同的EVENTID代表了不同的意义,摘录一些常见的安全事件的说明。4624–登录成功4625–登录失败4634–注销成功4647–用户启动的注销4672–使用超级用户(如管理员)进行登录系统:1074,通过这个事件ID查看计算机的开机、关…

    2025年10月4日
    5
  • DNS 负载均衡

    DNS 负载均衡DNS负载均衡技术的实现原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。 最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地…

    2022年7月14日
    15
  • 剑指 Offer 03. 数组中重复的数字(原地算法)「建议收藏」

    剑指 Offer 03. 数组中重复的数字(原地算法)「建议收藏」找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000题解原地算法class Solution {public: static const int N = 1e5 + 10; int vis[N]

    2022年8月8日
    5
  • 大数据学习方法:大数据采集,大数据分析,大数据存储就该这样学!

    大数据学习方法:大数据采集,大数据分析,大数据存储就该这样学!大数据采集01—概览02—相关延展系统日志数据的采集 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用。它够从各种日志源上收集日志,存储到一个中央存储系统上,以便于进行集中的统计分析处理。Scribe为日志的“分布式收集,统一处理”提供了一个可扩展的、高容错的方案。(老师收学生信息表,需要班长代理收集的例子)。…

    2022年5月4日
    56
  • 设置npm镜像_nodejs安装淘宝镜像

    设置npm镜像_nodejs安装淘宝镜像将npm默认仓库地址改为淘宝镜像

    2025年6月17日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号