显示效果如下
RepeaterDemo.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RepeaterDemo.aspx.cs" Inherits="RepeaterDemo" %>
<!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="repeaterMain" runat="server" OnItemDataBound="repeaterMain_ItemDataBound">
<ItemTemplate>
<table>
<tr>
<td><%#DataBinder.Eval(Container,"DataItem.familyid")%></td>
<td><%#DataBinder.Eval(Container,"DataItem.familyname")%></td>
</tr>
<asp:Repeater ID="repeaterSub" runat="server">
<ItemTemplate>
<tr>
<td><%#DataBinder.Eval(Container, "DataItem.familyid")%></td>
<td><%#DataBinder.Eval(Container, "DataItem.genusid")%></td>
<td><%#DataBinder.Eval(Container, "DataItem.genusname")%></td>
</tr>
<asp:Repeater ID="repeaterSub1" runat="server">
<ItemTemplate>
<tr>
<td><%#DataBinder.Eval(Container, "DataItem.genusid")%></td>
<td><%#DataBinder.Eval(Container, "DataItem.spnumber")%></td>
<td><%#DataBinder.Eval(Container, "DataItem.AbbreviateName")%></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
</table>
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
RepeaterDemo.aspx.cs
using System;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class RepeaterDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindMain();
}
}
private void BindMain()
{
SqlConnection cn = new SqlConnection(@"server=.;database=CNPCEdit;integrated security=true");
SqlDataAdapter da = new SqlDataAdapter("select familyid, familyname from family", cn);
DataSet ds = new DataSet();
cn.Open();
da.Fill(ds);
repeaterMain.DataSource = ds.Tables[0].DefaultView;
repeaterMain.DataBind();
cn.Close();
}
protected void repeaterMain_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string familyid = ((DataRowView)e.Item.DataItem).Row["familyid"].ToString();
Repeater repeaterSub = (Repeater)e.Item.FindControl("repeaterSub");
if (repeaterSub != null)
{
SqlConnection cn = new SqlConnection(@"server=.;database=CNPCEdit;integrated security=true");
SqlCommand cmd = new SqlCommand("select familyid, genusid, genusname from genus where familyid = @familyid", cn);
cmd.Parameters.Add("@familyid", SqlDbType.Int, 6).Value = familyid;
cn.Open();
repeaterSub.DataSource = cmd.ExecuteReader();
repeaterSub.DataBind();
cn.Close();
}
}
}
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步