Asp.net 中继器和公共阵列不是数据源。

Asp.net 中继器和公共阵列不是数据源。,asp.net,repeater,Asp.net,Repeater,我想使用两个带有repeater的数据源。一个绑定到dataSource属性,所以我的问题是f.ex是否可能。是否还要将某些字符串数组作为公共属性重复?可以绑定到数据源的属性,该属性也是一个集合。例如: class Person { List<Phone> Phones { get; set; } string Name { get; set; } } class Phone { string Number { get; set; } } void Page_

我想使用两个带有repeater的数据源。一个绑定到dataSource属性,所以我的问题是f.ex是否可能。是否还要将某些字符串数组作为公共属性重复?

可以绑定到数据源的属性,该属性也是一个集合。例如:

class Person
{
   List<Phone> Phones { get; set; }
   string Name { get; set; }
}

class Phone
{
   string Number { get; set; }
}

 void Page_Load(...)
 {
     List<Person> people = GetPeople();
     peopleRepeater.DataSource = people;
     peaopleRepeater.DataBind();
 }
班级人员
{
列出电话{get;set;}
字符串名称{get;set;}
}
班级电话
{
字符串编号{get;set;}
}
无效页面加载(…)
{
List people=GetPeople();
peopleRepeater.DataSource=人;
peaoperepeater.DataBind();
}
aspx页

 <asp:Repeater ID="peopleRepeater" runat="server">
     <ItemTemplate>
        Name : <%# Eval("Name") %>
        Phones: <br/>
       <asp:Repeater ID="phonesRepeater" runat="server" DataSource='<%# (Container.DataItem as Person).Phones %>'>
           <ItemTemplate>
              <%# Eval("Number") %> <br />
           </ItemTemplate>

       </asp:Repeater>

     </ItemTemplate>
  </asp:Repeater>

姓名:
电话:


大多数ASP.NET数据控件一次只能绑定到单个数据源。可以将嵌套控件绑定到多个数据源。一些第三方控件(如RadGridView)设计用于处理多个数据源绑定(如分层)