2015-06-01 35 views
1
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

您需要为中继器,而你的情况将在ResultInfo物业提供的数据源,然后就可以使用EvalReference