可以使用嵌套的Repeater控件和Visual C#.NET來顯示分層數據。以下是一個示例:
假設有以下數據結構:
public class Category
{
public string Name { get; set; }
public List<Product> Products { get; set; }
}
public class Product
{
public string Name { get; set; }
}
首先,需要在前端頁面中添加兩個Repeater控件,一個用于顯示分類,另一個用于顯示產品。在頁面上添加以下代碼:
<asp:Repeater ID="rptCategories" runat="server">
<ItemTemplate>
<h2><%# Eval("Name") %></h2>
<asp:Repeater ID="rptProducts" runat="server" DataSource='<%# Eval("Products") %>'>
<ItemTemplate>
<p><%# Eval("Name") %></p>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
然后,在后端代碼中綁定數據到Repeater控件。在頁面的Page_Load事件中添加以下代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<Category> categories = GetCategories(); // 獲取分類數據
rptCategories.DataSource = categories;
rptCategories.DataBind();
}
}
private List<Category> GetCategories()
{
// 模擬從數據庫中獲取數據
List<Category> categories = new List<Category>();
Category category1 = new Category
{
Name = "分類1",
Products = new List<Product>()
{
new Product { Name = "產品1" },
new Product { Name = "產品2" },
new Product { Name = "產品3" }
}
};
Category category2 = new Category
{
Name = "分類2",
Products = new List<Product>()
{
new Product { Name = "產品4" },
new Product { Name = "產品5" },
new Product { Name = "產品6" }
}
};
categories.Add(category1);
categories.Add(category2);
return categories;
}
通過以上代碼,Repeater控件會根據數據結構進行嵌套顯示,首先顯示分類名稱,然后在每個分類下顯示產品名稱。這樣就實現了分層顯示數據的功能。