Repeater.DataSourceID 属性

定义

获取或设置数据源控件的 ID 属性,该属性由 Repeater 控件用于检索其数据源。

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

属性值

数据源控件的 ID 属性。

例外

以下原因之一会导致无法解析数据源:

示例

下面的代码示例演示如何将 DataSourceID 属性设置为 ID 控件的 SqlDataSource 属性。 加载页面时, Repeater 控件将绑定到控件 SqlDataSource 指定的数据源,并将数据显示给用户。

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

注解

DataSourceID使用 属性访问ID数据源控件的 属性,Repeater控件应使用该属性来检索其数据源。 属性 DataSourceID 引用的数据源控件可以是实现 IDataSource 接口的任何控件。 数据源控件必须与引用它的控件位于同一命名容器 Repeater 中,或者存在于控件的 Repeater 父控件中。 为 属性指定值 DataSourceID 时,控件 Repeater 将绑定到指定的数据源控件。 无需编写显式调用 方法的代码 DataBind

或者,可以使用 DataSource 属性指定要绑定到 Repeater 控件的值的源。 数据源必须是实现 System.Collections.IEnumerable 接口 (的集合,例如 System.Data.DataViewSystem.Collections.ArrayList 对象) 或 IListSource 接口。 设置 DataSource 属性时,必须编写代码来执行数据绑定。

如果为 DataSourceDataSourceID 属性指定了值,则 ASP.NET 无法解析数据源,并 System.Web.HttpException 引发异常。

此属性的值存储在视图状态中。

适用于

另请参阅