列表视图中的列表数据中的列表

时间:2015-06-01 19:20:55

标签: c# asp.net list listview

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>

标题和ID工作正常,但我无法设置转发器以获取名称和值。

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

TIA

1 个答案:

答案 0 :(得分:1)

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