2012-08-09 67 views
1

我有一個使用Repeater控件顯示的Report對象列表。在Report類中有一個RecipientsList,它是一個字符串列表。我在轉發器中有以下代碼將列表呈現爲逗號分隔列表。div中的列表項(在Repeater中)

該代碼工作正常。目前它正在div中創建一個字符串(其class =「repeaterLine」)

我需要每個字符串都在單獨的div元素中。應該有與收件人數量一樣多的div元素。有沒有可能在ASP.Net標記(僅)中實現它?

內部中繼標記

<div class="repeaterLine"> 
    <%# String.Join(", ",((ServicesSupportSite.UI.Report)Container.DataItem).RecipientsList)%> 
</div> 

報告類

public class Report 
{ 
    public int ReportID { get; set; } 
    public string Title { get; set; } 
    public List<string> RecipientsList { get; set; } 
} 

REFERENCE

  1. https://softwareengineering.stackexchange.com/questions/159211/scenarios-where-linq-is-handy
+0

你能如果可能的話張貼整個中繼器的代碼塊? – bUKaneer 2012-08-09 12:20:57

+0

@bUKaneer我在問題中提供的是ItemTemplate中唯一的元素。它沒有標題模板。我想,這是關於中繼器的完整信息。 – Lijo 2012-08-09 12:26:39

回答

2

您可以使用LINQ .Select()包裹在RecipientsList的字符串<div>標籤,就像這樣:

<div class="repeaterLine"> 
    <%# String.Join(", ",((ServicesSupportSite.UI.Report)Container.DataItem).RecipientsList.Select(x => "<div>" + x + "</div>")%> 
</div> 
+0

明智地使用LINQ !!!。謝謝... – Lijo 2012-08-09 12:30:07