我们有时候需要查找出父菜单下面全部的子菜单,然后根据子菜单的ID查找出该类别下面的全部新闻。

  通常往往只知道父级菜单的ID,但不知道父级菜单下面有多少个子菜单,也不知道子菜单的ID

  所以我们往往需要根据这一条SQL语句:select 子菜单ID from 表 where 父菜单ID=Id 找出全部的子菜单ID。

  然后根据子菜单ID去查找出该类别下面的全部新闻

  使用Repeater嵌套可以很方便实现这一点,示例如下:

  

  前端HTML示例:

        <!--使用repeater嵌套-->
<asp:Repeater runat="server" ID="repNewsList" OnItemDataBound="repNewsList_ItemDataBound">
<ItemTemplate>
<a href='newsListChild.aspx?boardId=<%#Eval("Id") %>'>更多</a><br />
<asp:Repeater runat="server" ID="repNewsChildList">
<ItemTemplate>
<%# Eval("Title") %><br />
</ItemTemplate>
</asp:Repeater>
<hr />
</ItemTemplate>
</asp:Repeater>

  后端CS程序示例:

    public partial class newsList : System.Web.UI.Page
{
WmwMgr db = new WmwMgr();
protected void Page_Load(object sender, EventArgs e)
{
BindData(); } /// <summary>
/// 绑定栏目数据
/// </summary>
protected void BindData(int pId)
{
repNewsList.DataSource = db.Get_ChildColumnByParentId();
repNewsList.DataBind();
} /// <summary>
/// 根据栏目数据获得新闻列表数据(嵌套Repeater)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void repNewsList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rep = e.Item.FindControl("repNewsChildList") as Repeater;
DataRowView rowv = (DataRowView)e.Item.DataItem;
int BoardId = Convert.ToInt32(rowv["Id"]); //获取栏目Id
rep.DataSource = db.Get_NewsListByBoardId(, BoardId);
rep.DataBind();
}
} }

  

  

ASP.NET- Repeater 嵌套的更多相关文章

  1. ASP.NET Repeater嵌套Repeater实现菜单加载

    在KS系统中要实现从数据库中读取界面权限文件实现菜单.界面的动态加载. 效果图: ASP.NET界面代码 <div id="menu-container"> <a ...

  2. [ASP.NET]asp.net Repeater控件的使用方法

    asp.net Repeater控件的使用方法 -- : 4770人阅读 评论() 收藏 举报 asp.netserveraspdatasetdeletexhtml 今天学习了,Repeater控件 ...

  3. ASP.NET repeater添加序号列的方法

    ASP.NET repeater添加序号列的方法 1.<itemtemplate> <tr><td> <%# Container.ItemIndex + 1% ...

  4. ASP.NET- 查找Repeater控件中嵌套的控件

    如何在Repeater的HeaderTemplate和FooterTemplate模板中寻找控件?在Repeater的ItemTemplate模板中的控件,我们可以用Items属性来遍历行并用Find ...

  5. asp.net:repeater嵌套(常用于新闻等在首页归类显示)

    using System;using System.Configuration;using System.Collections.Generic;using System.Linq;using Sys ...

  6. asp.net repeater控件操作

    Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行. Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式. ...

  7. Repeater嵌套(灵活的)

    页面代码 <form id="form1" runat="server"> <asp:Repeater ID="rptCategor ...

  8. Repeater嵌套Repeater并取得嵌套Repeater里面的控件

    前台代码:    <asp:Repeater ID="RepeaterScene" runat="server" OnItemDataBound=&quo ...

  9. ASP.NET Repeater 控件分页

    protected void Page_Load(object sender, EventArgs e) { HttpContext context = HttpContext.Current; co ...

  10. ASP.NET Repeater 绑定 DropDownList Calendar 选择日期

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

随机推荐

  1. 读取Excel列内容

    http://blog.sina.com.cn/s/blog_6e001be701016yi8.html

  2. oracle----删除数据

    1. 删除数据:delete语句: 语法: DELETE FROM table_name; (1),无条件删除: SQL> create table testdel as select * fr ...

  3. LibLinear(SVM包)使用说明之(二)MATLAB接口

    LibLinear(SVM包)使用说明之(二)MATLAB接口 LibLinear(SVM包)使用说明之(二)MATLAB接口 zouxy09@qq.com http://blog.csdn.net/ ...

  4. MySQL db优化

    http://blog.csdn.net/likika2012/article/details/38816037 http://www.nowamagic.net/librarys/veda/deta ...

  5. 转载:redis备份策略

    Redis提供了两种持久化选项,分别是RDB和AOF. 默认情况下60秒刷新到disk一次[save 60 10000 当有1w条keys数据被改变时],Redis的数据集保存在叫dump.rdb一个 ...

  6. [jobdu]数组中出现次数超过一半的数字

    找到以后要再扫一遍确认. http://zhedahht.blog.163.com/blog/static/25411174201085114733349/ #include <iostream ...

  7. 关于HSL和HSV颜色空间的详细论述

    目前在计算机视觉领域存在着较多类型的颜色空间(color space).HSL和HSV是两种最常见的圆柱坐标表示的颜色模型,它重新影射了RGB模型,从而能够视觉上比RGB模型更具有视觉直观性. HSV ...

  8. Visual Studio中一个解决方案设置多个启动项目

    在解决方案上右键,选择属性. 这样设置之后,点击开始运行之后,会同时启动2个项目. 适合一个项目既包含客户端也包含服务端,方便调试

  9. 转载:10个实用的但偏执的Java编程技术

    在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常.因为,你知道的…… 任何事情有可能出错,没错,的确如此. 这就是为什么我们要采用“防御性编程”,即 ...

  10. bzoj3796

    好像已经很久没有做后缀数组的题目,导致这种题一开始没想出来看到公共子串肯定想到后缀数组吧,但我都忘了最长公共子串怎么求了重要的性质:最长公共子串=max(h[i])名次相邻的两个后缀要分别属于s1,s ...