Repeater.DataSourceID Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
public:
virtual property System::String ^ DataSourceID { System::String ^ get(); void set(System::String ^ value); };
public virtual string DataSourceID { get; set; }
member this.DataSourceID : string with get, set
Public Overridable Property DataSourceID As String
Property Value
The ID
property of the data source control.
Exceptions
The data source cannot be resolved for one of the following reasons:
A value is specified for both the DataSource and DataSourceID properties.
The data source specified by the DataSourceID property cannot be found on the page.
The data source specified by the DataSourceID property does not implement IDataSource.
Examples
The following code example demonstrates how to set the DataSourceID property to the ID property of a SqlDataSource control. When the page is loaded, the Repeater control binds to the data source that is specified by the SqlDataSource control and the data is displayed to the user.
<%@ page language="C#" %>
<!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.DataSourceID Property Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>Repeater.DataSourceID Property Example</h3>
<asp:repeater id="Repeater1"
datasourceid="SqlDataSource1"
runat="server">
<headertemplate>
<table border="1">
<tr>
<td><b>Product ID</b></td>
<td><b>Product Name</b></td>
</tr>
</headertemplate>
<itemtemplate>
<tr>
<td> <%# Eval("ProductID") %> </td>
<td> <%# Eval("ProductName") %> </td>
</tr>
</itemtemplate>
<footertemplate>
</table>
</footertemplate>
</asp:repeater>
<asp:sqldatasource id="SqlDataSource1"
connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
selectcommand="SELECT ProductID, ProductName FROM [Products] Where ProductID <= 10"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!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.DataSourceID Property Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>Repeater.DataSourceID Property Example</h3>
<asp:repeater id="Repeater1"
datasourceid="SqlDataSource1"
runat="server">
<headertemplate>
<table border="1">
<tr>
<td><b>Product ID</b></td>
<td><b>Product Name</b></td>
</tr>
</headertemplate>
<itemtemplate>
<tr>
<td> <%# Eval("ProductID") %> </td>
<td> <%# Eval("ProductName") %> </td>
</tr>
</itemtemplate>
<footertemplate>
</table>
</footertemplate>
</asp:repeater>
<asp:sqldatasource id="SqlDataSource1"
connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
selectcommand="SELECT ProductID, ProductName FROM [Products] Where ProductID <= 10"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
Remarks
Use the DataSourceID property to access the ID property of the data source control that the Repeater control should use to retrieve its data source. The data source control that is referenced by the DataSourceID property can be any control that implements the IDataSource interface. The data source control must exist either in the same naming container as the Repeater control that references it or in a parent control of the Repeater control. When you specify a value for the DataSourceID property, the Repeater control binds to the specified data source control. You do not need to write code that explicitly calls the DataBind method.
Alternatively, you can use the DataSource property to specify the source of values to bind to the Repeater control. The data source must be a collection that implements the System.Collections.IEnumerable interface (such as the System.Data.DataView or System.Collections.ArrayList object) or the IListSource interface. When you set the DataSource property, you must write the code to perform the data binding.
If values are specified for both the DataSource and DataSourceID properties, ASP.NET is not able to resolve the data source and an System.Web.HttpException exception is thrown.
The value of this property is stored in view state.