【问题标题】:Display list within list data in listview在列表视图中的列表数据中显示列表
【发布时间】:2015-06-01 19:20:54
【问题描述】:
public class Result()
{
public int ID { get; set; }
public string Title { get; set; }
public List<ListInfo> Info { get; set; }
}

public class ListInfo
{
    public ListInfo() { }
    public ListInfo(string name, string value)
    {
    Name = name;
    Value = value;
    }

    public string Name { get; set; }
    public string Value { get; set; }
}

现在,在 aspx 页面上,我将结果设置为 listview 数据源

lstResources.DataSource = results;
lstResources.DataBind();

这是列表视图:

<asp:ListView ID="lstResources" runat="server">
                <LayoutTemplate>
                    <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
                </LayoutTemplate>
                <ItemTemplate>
<h4 class="DarkText FontWeightBold"><%# Eval("Title") %></h4>
<p>ID is <%# Eval("ID") %></p>
<asp:Repeater ID="rsInfo" runat="server">
        <ItemTemplate>
        <li>
            <h5><%# Eval("Name") %>:</h5>
            <p><%# Eval("Value") %></p>
        </li>
        </ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:ListView>

title 和 id 工作正常,但我无法设置中继器来获取 Name 和 Value 值。

基本上,rsInfo 必须获取值 - Info.Name 和 Info.Value。 listinfo 中可以有多个项目。但我无法做到这一点。你能帮忙吗?

TIA

【问题讨论】:

    标签: c# asp.net list listview


    【解决方案1】:

    您需要为转发器提供 DataSource,在您的情况下,它将是 Result 类中的 Info 属性,然后在其上使用 EvalReference.

    【讨论】:

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