ASPX
<ul>
<asp:Repeater ID="TemRepeater1" runat="server" OnItemDataBound="TemRepeater1_ItemDataBound">
<ItemTemplate>
<li>
<div><%#Eval("LibraryName")%></div>
<asp:Repeater ID="TemRepeater2" runat="server" OnItemDataBound="TemRepeater2_ItemDataBound">
<HeaderTemplate><ul></HeaderTemplate>
<FooterTemplate></ul></FooterTemplate>
<ItemTemplate>
<li>
<div><%#Eval("SubjectName")%></div>
<asp:Repeater ID="TemRepeater3" runat="server">
<HeaderTemplate><ul></HeaderTemplate>
<FooterTemplate></ul></FooterTemplate>
<ItemTemplate>
<li>
<div><%#Eval("Title") %></div>
</li>
</ItemTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
CS
protected void Page_Load(object sender, EventArgs e)
{
string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection conn = new SqlConnection(ConnectionString);
string bStr = "select * from Library";
SqlDataAdapter rs = new SqlDataAdapter(bStr, conn);
conn.Open();
DataSet rd = new DataSet();
rs.Fill(rd);
TemRepeater1.DataSource = rd;
TemRepeater1.DataBind();
conn.Close();
Listbind();
}
protected void TemRepeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string preid = ((DataRowView)e.Item.DataItem).Row["ID"].ToString();//获得对应ID
Repeater r2 = (Repeater)e.Item.FindControl("TemRepeater2");//找到要绑定数据的Repeater
if (r2 != null)
{
string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection sc = new SqlConnection(ConnectionString);
string scmd = "select * from Subject where ParentID=" + preid + " order by ID asc";
SqlDataAdapter srs = new SqlDataAdapter(scmd, sc);
sc.Open();
DataSet srd = new DataSet();
srs.Fill(srd);
r2.DataSource = srd;
r2.DataBind();
sc.Close();
}
}
}
protected void TemRepeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string preid = ((DataRowView)e.Item.DataItem).Row["id"].ToString();//获得对应ID
Repeater r3 = (Repeater)e.Item.FindControl("TemRepeater3");//找到要绑定数据的Repeater
if (r3 != null)
{
string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection sc = new SqlConnection(ConnectionString);
string scmd = "select * from Title where SubjectID=" + preid + " order by ID asc";
SqlDataAdapter srs = new SqlDataAdapter(scmd, sc);
sc.Open();
DataSet srd = new DataSet();
srs.Fill(srd);
r3.DataSource = srd;
r3.DataBind();
sc.Close();
}
}
}
分享到:
相关推荐
本篇文章将深入探讨如何在C#中实现Repeater控件的多层嵌套,以及如何根据分类ID查询并绑定产品数据。 首先,我们需要理解Repeater的基本用法。Repeater不提供任何内置的样式或布局,而是通过模板来定义其外观和行为...
在“Repeater的二层嵌套”场景中,我们通常会遇到如何在一个Repeater控件内部再嵌套另一个Repeater控件,以展示层次结构的数据,例如目录树、组织结构或者产品分类等。这个技术点对于构建动态和交互性强的Web应用...
为了实现分页链接的显示,我们可以在Repeater的ItemTemplate中嵌套另一个控件,如HyperLink或Button,用于表示每一页的链接。在ItemDataBound事件中,我们可以设置这些控件的 NavigateUrl 和 Text 属性,确保它们...
1. 数据源排序:在获取数据时,可以在后端(如SQL查询)或前端(如JavaScript数组)对数据进行排序。例如,可以使用Linq to SQL或Entity Framework来根据指定字段对数据进行排序。 2. 绑定事件处理:在Repeater的...
- SQL查询:使用SQL语句进行数据插入、更新和删除操作,例如INSERT INTO、UPDATE和DELETE命令。 - ADO.NET:ASP.NET 2.0通过ADO.NET与SQL Server 2000进行数据交互,提供强类型数据集,简化数据访问。 3. ASP.NET...
本篇文章将深入探讨`Repeater`控件的嵌套使用,以及如何通过实例来理解这一技术。 `Repeater`控件主要用于在网页上展示来自数据源的数据,它提供了一个高度自定义的模板化界面,使得我们可以根据需求自由地设计数据...
3. **前端展示**:将后台获取的树形数据传递给Asp.net页面,可以使用控件如TreeView或Repeater来呈现树结构。在HTML中,使用嵌套的循环结构遍历并渲染每个节点及其子节点。 4. **优化性能**:虽然递归方法简单直观...
7.3.6 嵌套查询 7.3.7 插入记录并返回ID 7.3.8 同时更新多条记录 7.3.9 根据条件删除记录 7.4 存储过程 7.4.1 使用存储过程添加数据 7.4.2 使用存储过程查询数据 7.4.3 使用存储过程更新数据 7.4.4 使用...
3. **Northwind数据库**:这是一个经典的SQL Server示例数据库,包含了多种商业实体数据,如产品、客户、订单等。在这里,它作为数据源,为我们的主从表浏览提供数据。 4. **数据访问层(DAL)**:项目中可能包含一...
在C#.NET中,Repeater通常与数据源(如SQL数据库、XML文件或自定义数据集)进行绑定。在这个实例中,`test.mdb`可能是一个Access数据库文件,用于存储要显示、编辑和删除的数据。数据绑定过程通过`DataSource`属性...
然后,我们通过调用数据访问层的方法(如DBFun.dataSetTwo)来获取数据,并将它们分别绑定到顶层Repeater和嵌套的Repeater控件上。重要的一点是,顶层Repeater绑定数据后,需要调用DataBind()方法来完成数据绑定,而...
将查询结果绑定到主Repeater,然后在ItemDataBound事件中,对每个主表项,再次使用LINQ查询获取对应的从表项,并绑定到嵌套的子Repeater。 5. **自定义模板**:根据需求定制Repeater的模板,以显示所需的信息和格式...
具体来说,通过SQL查询将类别的信息和与之相关联的文章信息联合查询出来。之后,使用SqlDataReader读取查询结果,并将结果集中的数据创建成CategoryInfo对象列表。在读取数据时,特别注意到了类别ID的变化,当检测到...
在本例中,我们将DataList作为外层容器,Repeater作为内层容器,用于显示层次结构的数据。 在给定的代码片段中,我们有一个名为`monitorTypeList`的DataList,它被设置为水平重复四列,并且在`ItemTemplate`中包含...
这涉及到SQL语句的编写,特别是对于无限级联结构,可能需要用到递归查询或自连接更新。 综上所述,这个项目涵盖了从数据库设计、后端编程到前端交互的多个环节,要求开发者具备扎实的ASP.NET、数据库和前端技术。...
1.2 数据源绑定:Repeater控件能够绑定到各种数据源,如SQL数据库、XML文件、数组等。数据绑定是在ItemDataBound事件中完成的。 二、Repeater控件模板 2.1 ItemTemplate:这是Repeater控件的核心,用于定义每个...
自己收集的一些数据库操作方面的文件,感觉不错,一起发出来... Repeater(嵌套) 数据库操作.txt 第01课:ADO.NET.ppt 第03课:GridView.ppt 第04课:DataList和Repeater.ppt 绑定分页详解.doc 希望对大家有用处
- **查询优化**:避免全表扫描,使用`JOIN`、`WHERE`、`GROUP BY`语句时要合理,避免子查询嵌套过多。 - **存储过程与事务**:利用存储过程封装复杂的逻辑,使用事务确保数据一致性。 4. **VB.NET与ASP.NET与SQL ...
本压缩包中的资源聚焦于ASP.NET的一些实用小技巧,包括经典SQL语句、静态页面生成与分页、SQL注入防护以及Repeater控件的嵌套应用。 1. **经典SQL语句大全**:在ASP.NET中,数据库操作是常见的任务,掌握高效的SQL...