Udostępnij za pośrednictwem


Repeater.DataSource Właściwość

Definicja

Pobiera lub ustawia źródło danych, które udostępnia dane do wypełniania listy.

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

Wartość właściwości

Object

Obiekt IEnumerable lub IListSource zawierający kolekcję wartości używanych do dostarczania danych do tej kontrolki. Wartość domyślna to null.

Atrybuty

Wyjątki

Określony DataSource obiekt nie jest obsługiwanym źródłem danych dla kontrolki Repeater .

Nie można rozpoznać źródła danych, ponieważ wartość jest określona zarówno DataSource dla właściwości, jak i DataSourceID właściwości.

Przykłady

W poniższym przykładzie pokazano, jak określić DataSource kontrolkę Repeater po załadowaniu strony.

<%@ 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>

Uwagi

Użyj tej właściwości, aby określić źródło danych, aby wypełnić kontrolkę Repeater . Może DataSource to być dowolna System.Collections.IEnumerable kolekcja, taka jak System.Data.DataView na potrzeby uzyskiwania dostępu do baz danych, System.Collections.ArrayListtablicy IListSource lub obiektu. Po ustawieniu DataSource właściwości należy ręcznie napisać kod, aby powiązać ze źródłem danych.

Jeśli źródło danych określone przez DataSource właściwość zawiera wiele źródeł danych, użyj DataMember właściwości , aby określić określone źródło do powiązania z kontrolką. Jeśli na przykład masz tabelę System.Data.DataSet z wieloma tabelami, musisz określić tabelę, która ma zostać powiązana z kontrolką. Po określeniu źródła danych użyj DataBind metody , aby powiązać źródło danych z kontrolką.

Alternatywnie można użyć DataSourceID właściwości , aby automatycznie powiązać ze źródłem danych reprezentowanym przez kontrolę źródła danych. Po ustawieniu właściwości kontrolka DataSourceID Repeater automatycznie wiąże się z określoną kontrolą źródła danych. Nie musisz pisać kodu, który jawnie wywołuje metodę DataBind , chyba że dynamicznie zmieniasz właściwości kontrolki Repeater .

Jeśli wartości są określone zarówno DataSource dla właściwości, jak i DataSourceID właściwości, ASP.NET nie jest w stanie rozpoznać źródła danych i System.Web.HttpException jest zgłaszany.

Dotyczy

Zobacz też