Repeater和public array as NOT datasource。

时间:2011-07-28 17:42:26

标签: asp.net repeater

我想将两个数据源与转发器一起使用。一个绑定到dataSource属性所以我的问题是可能f.ex.还要重复一些字符串数组作为公共属性?

2 个答案:

答案 0 :(得分:1)

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

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();
 }

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>

答案 1 :(得分:0)

大多数ASP.NET数据控件一次只能绑定到一个数据源。可以使嵌套控件绑定到多个数据源。一些第三方控件(如RadGridView)旨在处理多个数据源绑定(例如,层次结构)。