asp.net
2012-08-29 5 views 0 likes 
0

Label을 Container.DataItem의 일반 목록 속성에 바인딩하려고합니다.일반 목록 속성을 데이터 내부의 레이블에 바인딩

여기 Container.DataItem의 목록을 수신 중입니다. List를 포함하는이 Container.DataItem 안에 들어가고 싶습니다.

영문 코드

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

출력 :

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

C# 코드 : 이것은 DataList3의 목록을> 결합했다된다

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 of List의 첫 번째 인덱스로 DataList3 내부의 레이블을 바인딩하려고합니다.

해결책이 있습니까?

답변

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(); 

데이터 목록 항목 databound 이벤트의 레이블에 값을 바인딩 할 수 있습니다.

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; 
} 
관련 문제