使用Eval从通用列表创建逗号分隔字符串

时间:2012-08-08 06:26:42

标签: c# asp.net .net gridview repeater

我有一个Report类。报告数据使用转发器控件呈现。有一个部门列表(字符串的通用列表)以逗号分隔显示。我们可以使用Eval将它作为逗号分隔列表在转发器中吗?如果我们不能使用Eval,那么在转发器中还有其他语法吗?

 public class Report
{
    public int ReportID { get; set; }
    public string Title { get; set; }
    public string Recipients { get; set; }
    public string Frequency { get; set; }
    public List<string> DepartmentList { get; set; }

}

ASP.NET标记

<asp:Repeater ID="rptReports" runat="server">
                    <HeaderTemplate>
                        <div>
                        </div>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <div class="repeaterIdentifier">
                            <div class="reportTitle">
                                <%# Eval("Title") +":" %>
                            </div>
                            <div class="reportFrequency">
                                <%# " Frequency - "+ Eval("Frequency") %>
                            </div>
                        </div>
                        <div class="reportContent">
                            <div class="repeaterLine">
                                <%# Eval("Recipients")%></div>
                        </div>
                    </ItemTemplate>
                </asp:Repeater>

3 个答案:

答案 0 :(得分:4)

您可以使用

<%#String.Join(",",((Report)Container.DataItem).DepartmentList)%>

答案 1 :(得分:3)

试试这个

<ItemTemplate>
   <%# String.Join((List<string>)Eval("DepartmentList")).ToArray()) %>
</ItemTemplate>

注意:未经过测试的代码

答案 2 :(得分:1)

在您的班级Report中,您可能需要添加额外的属性

public string DepartmentListCommas
{
  get
  {
     return string.Join(", ", DepartmentList);
  }
}