ylbtech-ASP.NET-Control-Bind: Repeater嵌套

ASP.NET中 Repeater嵌套。

1.A,运行效果图返回顶部
1.B,源代码(主要代码摘要)返回顶部
/App_Code/DBConnection.cs
/App_Code/CategoryInfo.cs

View Code

using System.Collections.Generic;
public class CategoryInfo
{int categoryid;string categoryname;string categorydesc;IList<ArticleInfo> articles;/// <summary>/// 1,子嵌套数据/// </summary>public IList<ArticleInfo> Articles{get { return articles; }set { articles = value; }}public int Categoryid{get { return categoryid; }set { categoryid = value; }}public string Categoryname{get { return categoryname; }set { categoryname = value; }}public string Categorydesc{get { return categorydesc; }set { categorydesc = value; }}public CategoryInfo(){}public CategoryInfo(int categoryid, string categoryname, string categorydesc,IList<ArticleInfo> articles){this.categoryid = categoryid;this.categoryname = categoryname;this.categorydesc = categorydesc;this.articles = articles;}
}

/App_Code/ArticleInfo.cs
/App_Code/CategoryOper.cs

View Code

using System.Data;using System.Data.SqlClient;
using System.Collections.Generic;
public class CategoryOper
{public static IList<CategoryInfo> SelectAll(){IList<CategoryInfo> allcate = new List<CategoryInfo>();string sql = "select category.categoryid,categoryname,categorydesc,id,title,author from category inner join article on category.categoryid=article.categoryid order by category.categoryid";SqlConnection con = new DBConnection().Con;SqlCommand com = new SqlCommand();com.Connection = con;com.CommandText = sql;com.CommandType = CommandType.Text;con.Open();SqlDataReader sdr = com.ExecuteReader();int tempcategoryid=0;CategoryInfo cate=null;while (sdr.Read()){int categoryid=sdr.GetInt32(0);//如果类别改变则创建一个新的 cate 对象if(categoryid!=tempcategoryid){cate = new CategoryInfo(sdr.GetInt32(0), sdr.GetString(1), sdr.GetString(2), new List<ArticleInfo>());allcate.Add(cate);  tempcategoryid = categoryid;    //把新类别编号付给标识
            }ArticleInfo art = new ArticleInfo(sdr.GetInt32(3), sdr.GetString(4), sdr.GetString(5));cate.Articles.Add(art);}con.Close();return allcate;}public CategoryOper(){//// TODO: 在此处添加构造函数逻辑//
    }
}

/App_Code/ArticleOper.cs
,6
/Default.aspx

View Code

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server"><title>无标题页</title>
</head>
<body><form id="form1" runat="server"><div style="text-align:center">        <asp:Repeater ID="RepCate" runat="server"><HeaderTemplate><table border="1"><tr><td>分类编号</td><td>分类名称</td><td>分类描述</td></tr>                </HeaderTemplate><ItemTemplate><tr><td><%#Eval("categoryid") %></td><td><%#Eval("categoryname") %></td><td><%#Eval("categorydesc") %></td></tr><tr><td>本类新闻</td><td colspan="2"><asp:Repeater ID="RepArticle" runat="server" DataSource='<%#Eval("articles") %>' ><HeaderTemplate><table border="1" style="background-color:#00FF00;"><tr><td>新闻编号</td><td>新闻标题</td><td>新闻作者</td></tr></HeaderTemplate><ItemTemplate><tr><td><%#Eval("id") %></td><td><asp:HyperLink ID="Hl1" runat="server" Text='<%#Eval("title") %>' NavigateUrl='<%#string.Format("ShowArticle.aspx?id={0}",Eval("id") ) %>' ></asp:HyperLink> </td><td><%#Eval("author") %></td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater></td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater></div></form>
</body>
</html>

/Default.aspx.cs

View Code

using System;public partial class _Default : System.Web.UI.Page
{private void BindCategory(){RepCate.DataSource = CategoryOper.SelectAll();RepCate.DataBind();}protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){BindCategory();}}
}

/web.config
1.C,资源下载返回顶部

http://files.cnblogs.com/ylbtech/WebForm-NestedRepeater.rar

作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

ASP.NET中 Repeater嵌套相关推荐

  1. ASP.NET中Repeater控件实现分页功能

    Repeater 轻量级,完全的自定义 Repeater分页,需要依靠PagedDataSource.这个类存在于System.Web.UI.WebControls命名空间.它的作用是作为数据源与数据 ...

  2. C# ASP.NET中Repeater控件

    最主要的用途是可以将数据依照编程者所指定的自定义格式逐一显示出来.只要将想要展示的格式先定好,它就会按照指定的格式来显示:这个预定好的格式称为"模板"(Template). 通过页 ...

  3. aspx repeater 用法_ASP.NET中repeater控件用法实例

    本文实例讲述了ASP.NET中repeater控件用法.分享给大家供大家参考.具体实现方法如下: repeater绑定数据: protected void Page_Load(object sende ...

  4. ASP.NET Web开发中Repeater控件的使用

    在ASP.NET中数据绑定是其提供的访问数据库的方法,数据控件则是用来显示从数据库中获取的数据. 首先讲下待会要用到的属性和方法: DataBind():显示绑定的数据 DataSource:指定数据 ...

  5. Repeater嵌套总结

    Repeater嵌套使用就相当于两个for语句的组合使用. 在这组两个Reapeater的组合使用中,标示红色的代码是链接两个Repeater的纽带,主要是范围大的Repeater向范围小的Repea ...

  6. 关于Repeater 嵌套梆定不明之处

    今天在网上看到一段代码,是关于Repeater 嵌套的问题,有很多的不明白的地方,希望大家能帮我把这个迷解了; 先看运行的效果: XML文件: <? xml version="1.0& ...

  7. 搜集《ASP.NET中常用的26个优化性能方法》

    1. 数据库访问性能优化 a.数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接 ...

  8. Repeater 嵌套 绑定数据,嵌套的Repeater无法绑定的问题

    Repeater 嵌套 绑定数据,嵌套的Repeater无法绑定的问题 今天做绑定遇到了这个么个问题,绑定的事件ItemDataBound()跟之前的并没有 改动,为什么会出现绑定失败的问题呢?要是你 ...

  9. [转帖]ASP.NET中常用的优化性能的方法

    ASP.NET中常用的优化性能的方法(转贴,Icyer收集整理) 1.       数据库访问性能优化     数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要 ...

最新文章

  1. 深度学习相关资料总结
  2. (转)区间合并pushup函数模板
  3. QQ浏览器视频相似度算法
  4. MS SQL Server 2000安装不成功的原因
  5. 雅利安人有多强悍?灭掉三个文明古国,为何败在殷商的脚下
  6. Android几种定时任务实现方式汇总
  7. Python编曲实践(八):我,乔鲁诺·乔巴那,能用两百行代码写出JOJO黄金之风里我自己的出场曲!
  8. C++中的getline()函数
  9. VS2015企业版,社区版,专业版详细对比
  10. Python——下载数据集时报错解决:ContentTooShortError: <urlopen error retrieval incomplete: got only XX out of XX
  11. 双评价技术指南2020_双评价技术学习笔记(旧)
  12. c++ detailed note
  13. java Android创建容器,Java-在具有(没有)DI容器的Android中正确进行依赖项注入(匕首1)...
  14. 来看看怎么用OpenCV解构jagarikin的视觉错觉图
  15. 影院售票系统java和数据库_影院售票管理系统的设计与实现(SSH,SQLServer)(含录像)...
  16. 利用Python3.x 删除字符串中的特殊字符——即ASCII控制字符
  17. Python语言在地球科学领域中的应用
  18. ASP.NET 开发
  19. 【latex】经验总结(待整理)
  20. 电商平台搭建--分类管理功能模块开发

热门文章

  1. mysql rrd_关于cactiEZ数据迁移操作思路
  2. pix4d怎么查看点云数据_python里怎么查看数据类型
  3. 【项目管理】质量管理
  4. html静态页面到jsp文件css错误
  5. 《系统集成项目管理工程师》必背100个知识点-97信息系统生命周期
  6. GitLab基本设置-新增用户
  7. MyBatisPlus条件构造器中last方法怎样使用
  8. Windows上配置SSHKey到GItHub
  9. Vue之X-Templates的使用
  10. 面向对象的三大特征继承,封装和多态性