【问题标题】:ListView inside Repeater Asp.Net中继器 Asp.Net 中的 ListView
【发布时间】:2015-10-20 10:09:40
【问题描述】:

我有这样的课

class BroadCast
{
    public string Comment{ get; set; }
    public DateTime Date{ get; set; }
    public List<string> DisplayUsers { get; set; }
}

我将List&lt;BraodCast&gt; 绑定到Repeater。到目前为止,Repeater 中只有两列,但我现在需要再添加一列以显示DisplayUsers 的列表。我正在考虑在中继器内使用ListView,所以我将其绑定如下

<asp:ListView ID="lstDisplayRole" runat="server" DataSource='<%# Eval("DisplayUsers") %>'  >
   <ItemTemplate>
             <asp:Label ID="lblRoleName" runat="server" ForeColor="Black" Text='<%#Eval(index)%>' />
   </ItemTemplate>
</asp:ListView>

index 什么都不是,我正在寻找可以使我的列表视图工作的东西。我的意思是,如果它是DataTable 而不是List&lt;string&gt;,那么使用Eval("ColumnName") 会非常容易,但这不是这里的情况,我没有列,它只是一个字符串列表。我怎样才能做到这一点?

【问题讨论】:

    标签: asp.net repeater


    【解决方案1】:

    要获取当前绑定的项目本身(在这种情况下为string),请使用Container.DataItem。没有什么要评估,所以不需要Eval()

    <asp:Label ID="lblRoleName" runat="server" ForeColor="Black" Text='<%# Container.DataItem %>' />
    

    【讨论】:

    • 哇。工作得很好。我可以将其格式化为
    • 标签吗?
  • 是的,您可以跳过Label&lt;li&gt;&lt;%# Container.DataItem %&gt;&lt;/li&gt; 应该在&lt;ItemTemplate&gt; 内被允许。如果没有,请改用嵌套转发器,以便您可以使用页眉/页脚模板打开和关闭&lt;ul&gt;
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签