生活随笔
收集整理的這篇文章主要介紹了
ASP.NET中 Repeater嵌套
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| ylbtech-ASP.NET-Control-Bind:?Repeater嵌套 |
?ASP.NET中 Repeater嵌套。
/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
http://files.cnblogs.com/ylbtech/WebForm-NestedRepeater.rar
| | 作者:ylbtech 出處:http://ylbtech.cnblogs.com/ 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 |
總結
以上是生活随笔為你收集整理的ASP.NET中 Repeater嵌套的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。