在div中包装列表项(在Repeater中)

时间:2012-08-09 12:17:26

标签: asp.net .net linq gridview repeater

我有一个使用Repeater控件显示的Report对象列表。在Report类中有一个RecipientsList,它是一个String列表。我在转发器中有以下代码,将列表呈现为以逗号分隔的列表。

代码运行正常。目前它正在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; }
}

参考

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

1 个答案:

答案 0 :(得分:2)

您可以使用LINQ .Select()<div>标记中的字符串包装在RecipientsList中,如下所示:

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