手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >ASP.NET中repeater嵌套实现代码(附源码)
ASP.NET中repeater嵌套实现代码(附源码)
摘要:1.A,运行效果图1.B,源代码(主要代码摘要)/App_Code/DBConnection.cs/App_Code/CategoryInf...

1.A,运行效果图

ASP.NET中repeater嵌套实现代码(附源码)1

1.B,源代码(主要代码摘要)

/App_Code/DBConnection.cs

/App_Code/CategoryInfo.cs

复制代码 代码如下:

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

复制代码 代码如下:

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

复制代码 代码如下:

<%@ 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>

<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">

<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

复制代码 代码如下:

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,资源下载

【ASP.NET中repeater嵌套实现代码(附源码)】相关文章:

ASP.NET+Web服务实现软件共享

ASP.Net 图片存入数据库的实现代码

DataGrid 动态添加模板列 实现代码

ASP.NET常用代码

ASP.NET XmlHttp跨域访问实现代码

ASP.NET中TreeView用法

在ASP.NET2.0中通过Gmail发送邮件的代码

ASP.NET中ServerPush用法实例分析

.NET 扩展实现代码

ASP.NET缓存方法分析和实践示例代码第1/2页

精品推荐
分类导航