【问题标题】:Using Eval for creating Comma Separated string from Generic list使用 Eval 从通用列表中创建逗号分隔的字符串
【发布时间】:2012-08-08 06:26:41
【问题描述】:

我有一个报告课。报告数据使用转发器控件呈现。有一个部门列表(字符串的通用列表)以逗号分隔显示。我们可以使用 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>

【问题讨论】:

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


    【解决方案1】:

    你可以使用

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

    【讨论】:

      【解决方案2】:

      试试这个

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

      注意:代码未经测试

      【讨论】:

      • 这个答案对我的设置帮助最大。测试代码版本:&lt;%# String.Join(", ",(List&lt;string&gt;)DataBinder.Eval(Container.DataItem, "DepartmentList")) %&gt;
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多