Repeater.DataSource 属性

定义

获取或设置为填充列表提供数据的数据源。

public:
 virtual property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
[System.ComponentModel.Bindable(true)]
public virtual object DataSource { get; set; }
[<System.ComponentModel.Bindable(true)>]
member this.DataSource : obj with get, set
Public Overridable Property DataSource As Object

属性值

Object

IEnumerableIListSource 对象,包含用于为此控件提供数据的值的集合。 默认值是 null

属性

例外

指定的 DataSource 对象不是 Repeater 控件所支持的数据源。

无法解析数据源,因为对 DataSource 属性和 DataSourceID 属性指定了同一个值。

示例

以下示例演示如何在加载页面时指定DataSourceRepeater控件。

<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>Repeater Example</title>
<script runat="server">
       void Page_Load(Object Sender, EventArgs e) {
 
          if (!IsPostBack) {
             ArrayList values = new ArrayList();
 
             values.Add("Apple");
             values.Add("Orange");
             values.Add("Pear");
             values.Add("Banana");
             values.Add("Grape");
 
             // Set the DataSource of the Repeater. 
             Repeater1.DataSource = values;
             Repeater1.DataBind();
          }
       }
    </script>
 
 </head>
 <body>
 
    <h3>Repeater Example</h3>
 
    <form id="form1" runat="server">
 
       <b>Repeater1:</b>
       <br />
         
       <asp:Repeater id="Repeater1" runat="server">
             
          <HeaderTemplate>
             <table border="1">
          </HeaderTemplate>
 
          <ItemTemplate>
             <tr>
                <td> <%# Container.DataItem %> </td>
             </tr>
          </ItemTemplate>
             
          <FooterTemplate>
             </table>
          </FooterTemplate>
             
       </asp:Repeater>
       <br />
         
    </form>
 </body>
 </html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>Repeater Example</title>
<script runat="server">

        Sub Page_Load(Sender As Object, e As EventArgs)
            
            If Not IsPostBack Then
                Dim values As New ArrayList()
                
                values.Add("Apple")
                values.Add("Orange")
                values.Add("Pear")
                values.Add("Banana")
                values.Add("Grape")
                
                ' Set the DataSource of the Repeater. 
                Repeater1.DataSource = values
                Repeater1.DataBind()
            End If
        End Sub
        
    </script>
 
 </head>
 <body>
 
    <h3>Repeater Example</h3>
 
    <form id="form1" runat="server">
 
       <b>Repeater1:</b>
       <br />
         
       <asp:Repeater id="Repeater1" runat="server">
             
          <HeaderTemplate>
             <table border="1">
          </HeaderTemplate>
 
          <ItemTemplate>
             <tr>
                <td> <%# Container.DataItem %> </td>
             </tr>
          </ItemTemplate>
             
          <FooterTemplate>
             </table>
          </FooterTemplate>
             
       </asp:Repeater>
       <br />
         
    </form>
 </body>
 </html>

注解

使用此属性指定要填充 Repeater 控件的数据源。 DataSource可以是用于访问数据库、数组System.Collections.ArrayList或对象IListSource的任何System.Collections.IEnumerable集合System.Data.DataView。 设置 DataSource 属性时,必须手动编写代码以绑定到数据源。

如果属性指定的 DataSource 数据源包含多个数据源,请使用该 DataMember 属性指定要绑定到控件的特定源。 例如,如果有多个 System.Data.DataSet 表,则必须指定要绑定到控件的表。 指定数据源后,使用 DataBind 该方法将数据源绑定到控件。

或者,可以使用 DataSourceID 该属性自动绑定到数据源控件所表示的数据源。 设置 DataSourceID 属性时,控件 Repeater 会自动绑定到指定的数据源控件。 无需编写显式调用 DataBind 该方法的代码,除非动态更改控件的属性 Repeater

如果为DataSource属性和DataSourceID属性指定了值,则 ASP.NET 无法解析数据源并引发 aSystem.Web.HttpException

适用于

另请参阅