3

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

班级

 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>
4

3 回答 3

4

您可以使用

<%#String.Join(",",((Report)Container.DataItem).DepartmentList)%>
于 2012-08-08T06:33:12.230 回答
3

尝试这个

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

注意:代码未经测试

于 2012-08-08T06:39:24.120 回答
1

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

public string DepartmentListCommas
{
  get
  {
     return string.Join(", ", DepartmentList);
  }
}
于 2012-08-08T06:33:47.517 回答