为此,您可以使用 datalist。嵌套数据列表是解决方案。您必须将一个数据列表放在另一个数据列表中。然后在外部数据列表的 dataitembound 事件上,您必须绑定内部数据列表。我将向您展示一些示例代码,以便您轻松理解。
代码
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:Label ID="lblCategory" runat="server" Text='<% eval("categoryid") %>'></asp:Label>
<asp:DataList ID="DataList2" runat="server">
<ItemTemplate>
<asp:Image runat="server" ID="catImage" ImageUrl='<% eval("ImageURL") %>' />
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
protected void Page_Load(object sender, EventArgs e)
{
DataTable tbl = new DataTable();
DataTable tbl = new DataTable();
DataRow datarow;
tbl.Columns.Add ("categoryid");
datarow=tbl.NewRow ();
//this value from database
datarow ["categoryid"]="Cat1";
tbl.Rows.Add (datarow );
//tbl= Take datafromdatabasetoBindtheFirstDataList();
DataList1.DataSource = tbl;
DataList1.DataBind();
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
Label catId = e.Item.FindControl("lblCategory") as Label ;
DataList List2= e.Item.FindControl("DataList2") as DataList ;
DataTable tbl2 = new DataTable();
//tbl2= GetCategoryItemBasedonCategoryID(catId.Text) database call function for fetch data to bind the second datalist
List2.DataSource = tbl2;
List2.DataBind();
}