Ниже представлен пример, каким образомо можно отображать вложенные данные при помощи элемента управления Repeater. Аналогичным образом эот можно сделать с помощью элемениов DataGrid и DataList.
<%@ Page Language="C#" %>
<script runat="server">
string[] CreateMainDataSource() {
ArrayList list = new ArrayList();
for (int i = 0; i< 10; i++) {
list.Add(string.Format("Родительский элемент №{0}", i));
}
return (string[])list.ToArray(typeof(string));
}
protected string[] CreateChildDataSource(int id) {
ArrayList list = new ArrayList();
for (int i = 0; i< 5; i++) {
list.Add(string.Format("Дочерний элемент №{0} для {1}", i, id));
}
return (string[])list.ToArray(typeof(string));
}
void Page_Load(object sender, EventArgs e) {
myRepeater.DataSource = CreateMainDataSource();
myRepeater.DataBind();
}
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<asp:Repeater id="myRepeater" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container,"DataItem")%>
<blockquote>
<asp:Repeater runat="server"
DataSource='<%# CreateChildDataSource(Container.ItemIndex) %>'>
<ItemTemplate>
<%# DataBinder.Eval(Container,"DataItem")%>
<br />
</ItemTemplate>
</asp:Repeater>
</blockquote>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>