将通用列表属性绑定到Label Inside Datalist

时间:2012-08-29 07:20:14

标签: asp.net

我想将Label绑定到Container.DataItem中的Generic列表的Property。

这里我在Container.DataItem中接收一个List,想要进入包含List的Container.DataItem。

Aspx代码

<asp:Label ID="Label1" runat="server" Text='<%# Container.DataBind %>'></asp:Label>

输出:

System.Collection.Generic.List'1[Sizes]

C#代码:

List<List<Sizes>> Combosizes =new List<List<Sizes>>();

foreach (var i in skuIdsList)
 {
 var Sizes_list = (from item in sizes
 where item.SkuId == i.skuid
 select new Sizes
    {
     skusizeid = item.SkuSizeId,
     sizevalue = item.Sizevalue
    }).ToList();

   Combosizes.Add(Sizes_list);
 }

DataList3.DataSource = Combosizes;
DataList3.DataBind();

这是我绑定List&gt;到DataList3。我试图将DataList3中的标签与List of List的第一个索引绑定。

有没有解决方案。??

1 个答案:

答案 0 :(得分:0)

List<List<Sizes>> Combosizes =new List<List<Sizes>>();

foreach (var i in skuIdsList)
{
var Sizes_list = (from item in sizes
where item.SkuId == i.skuid
select new Sizes
{
skusizeid = item.SkuSizeId,
sizevalue = item.Sizevalue,
description = item.Description
}).ToList();

Combosizes.Add(Sizes_list);
}

DataList3.DataSource = Combosizes;
DataList3.DataBind();

您可以将值绑定到datalist item databound Event上的标签。

 protected void DataList3_ItemDataBound(object sender, DataListItemEventArgs e)
{
var des = (List<Sizes>)(e.Item.DataItem);
Label lblsize = e.Item.FindControl("lblsize") as Label;
lblsize.Text = des.First().description;
}