ObjectDataSourceView.SelectMethod 属性

定义

获取或设置 ObjectDataSourceView 控件调用以检索数据的方法或函数的名称。

public:
 property System::String ^ SelectMethod { System::String ^ get(); void set(System::String ^ value); };
public string SelectMethod { get; set; }
member this.SelectMethod : string with get, set
Public Property SelectMethod As String

属性值

一个字符串,表示 ObjectDataSourceView 用于检索数据的方法或函数的名称。 默认值为空字符串("")。

示例

下面的代码示例演示了控件如何使用GridView控件在Web Forms页上显示数据ObjectDataSource。 标识 ObjectDataSource 部分或完全限定的类名及其 TypeName 属性和调用方法以使用其 SelectMethod 属性检索数据。 在运行时,会创建 对象,并使用反射调用 方法。 控件 GridView 通过 IEnumerable 返回 SelectMethod的集合枚举,然后显示数据。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ 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>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.CS.EmployeeLogic" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ 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>ObjectDataSource - Visual Basic Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.VB.EmployeeLogic" />

    </form>
  </body>
</html>

注解

指定的方法可以具有任何方法签名,但必须返回下表中列出的类型之一,以便 ObjectDataSource 控件成功调用它

返回类型 操作
IEnumerable IEnumerableSelect 方法返回 。
DataTable 使用 DataViewDataTable 创建 ,并由 Select 方法返回。
DataSet 提取第一DataTableDataViewDataSet然后由 Select 方法创建并返回 。
Object 对象包装在一个元素 IEnumerable 中,并由 Select 方法返回。

属性 SelectMethod 标识的方法可以是实例方法,也可以是 static Visual Basic) Shared 方法中的 (。 如果是实例方法,则每次调用方法时 SelectMethod 都会创建并销毁业务对象。 在调用 属性指定的 SelectMethod 方法之前,可以处理 ObjectCreated 事件以使用业务对象。 还可以处理在 ObjectDisposing 调用 属性指定的 SelectMethod 方法后引发的事件。 Dispose仅当业务对象实现 IDisposable interface 时,才会调用 (。) 如果该方法是 static Visual Basic) 方法中的 (Shared,则永远不会创建业务对象,并且无法处理这些事件。

如果控件使用的业务对象 ObjectDataSource 实现多个同名的方法或函数 (方法重载) ,则数据源控件会根据一组条件(包括集合中的 SelectParameters 参数)尝试调用正确的方法。 如果集合中的 SelectParameters 参数与 属性指定的 SelectMethod 方法的签名的参数不匹配,则数据源将引发异常。

有关详细信息,请参阅 ObjectDataSource.SelectMethod

适用于

另请参阅