ObjectDataSourceView.SelectMethod 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.
Gets or sets the name of the method or function that the ObjectDataSourceView control invokes to retrieve data.
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
Property Value
A string that represents the name of the method or function that the ObjectDataSourceView uses to retrieve data. The default is an empty string ("").
Examples
The following code example demonstrates how a GridView control can display data using an ObjectDataSource control on a Web Forms page. The ObjectDataSource identifies a partially or fully qualified class name with its TypeName property and a method that is called to retrieve data with its SelectMethod property. At run time, the object is created and the method is called using reflection. The GridView control enumerates through the IEnumerable collection that is returned by the SelectMethod, and then displays the data.
<%@ 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>
Remarks
The specified method can have any method signature but must return one of the types listed in the following table in order for the ObjectDataSource control to call it successfully
Return type | Action |
---|---|
IEnumerable | The IEnumerable is returned by the Select method. |
DataTable | A DataView is created using the DataTable and returned by the Select method. |
DataSet | The first DataTable of the DataSet is extracted and a DataView is created and returned by the Select method. |
Object | The object is wrapped in a one-element IEnumerable and returned by the Select method. |
The method that is identified by the SelectMethod property can be an instance method or a static
(Shared
in Visual Basic) method. If it is an instance method, the business object is created and destroyed each time the SelectMethod method is called. You can handle the ObjectCreated event to work with the business object before the method specified by the SelectMethod property is called. You can also handle the ObjectDisposing event that is raised after the method specified by the SelectMethod property is called. (Dispose
is called only if the business object implements the IDisposable interface.) If the method is a static
(Shared
in Visual Basic) method, the business object is never created and you cannot handle these events.
If the business object that the ObjectDataSource control works with implements more than one method or function with the same name (method overloads), the data source control attempts to invoke the correct one according to a set of conditions, including the parameters in the SelectParameters collection. If the parameters in the SelectParameters collection do not match those of the signature of the method specified by the SelectMethod property, the data source throws an exception.
For more information, see ObjectDataSource.SelectMethod.