Repeater+SQL查询3层嵌套


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();
}

}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值