Repeater.DataSource 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定提供資料以填入 (Populate) 清單的資料來源。
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
屬性值
IEnumerable 或 IListSource 物件,包含用於提供資料給這個控制項的值集合。 預設值是 null
。
- 屬性
例外狀況
指定的 DataSource 物件不是 Repeater 控制項支援的資料來源。
無法解析資料來源,因為同時為 DataSource 屬性和 DataSourceID 屬性指定了值。
範例
下列範例示範如何在載入頁面時指定 DataSource 控制項的 Repeater 。
<%@ 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.IEnumerable 集合,例如 System.Data.DataView 用於存取資料庫、、 System.Collections.ArrayList 或陣列或 IListSource 物件。 當您設定 屬性時 DataSource ,必須手動撰寫程式碼以系結至資料來源。
如果 屬性指定的 DataSource 資料來源包含多個資料來源,請使用 DataMember 屬性來指定要系結至 控制項的特定來源。 例如,如果您有 System.Data.DataSet 具有多個資料表的 ,則必須指定要系結至控制項的資料表。 指定資料來源之後,請使用 DataBind 方法將資料來源系結至 控制項。
或者,您可以使用 DataSourceID 屬性,自動系結至資料來源控制項所代表的資料來源。 當您設定 屬性時 DataSourceID , Repeater 控制項會自動系結至指定的資料來源控制項。 除非您動態變更控制項的屬性,否則您不需要撰寫明確呼叫 DataBind 方法的程式 Repeater 代碼。
如果同時為 DataSource 屬性和 DataSourceID 屬性指定值,ASP.NET 就無法解析資料來源並 System.Web.HttpException 擲回 。