3

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>
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 に答える