Επεξεργασία

Κοινή χρήση μέσω


ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments) Method

Definition

Retrieves data from the object that is identified by the TypeName property by calling the method that is identified by the SelectMethod property and passing any values in the SelectParameters collection.

protected public:
 override System::Collections::IEnumerable ^ ExecuteSelect(System::Web::UI::DataSourceSelectArguments ^ arguments);
protected internal override System.Collections.IEnumerable ExecuteSelect (System.Web.UI.DataSourceSelectArguments arguments);
override this.ExecuteSelect : System.Web.UI.DataSourceSelectArguments -> System.Collections.IEnumerable
Protected Friend Overrides Function ExecuteSelect (arguments As DataSourceSelectArguments) As IEnumerable

Parameters

arguments
DataSourceSelectArguments

A DataSourceSelectArguments used to request operations on the data beyond basic data retrieval.

Returns

A IEnumerable list of data rows.

Exceptions

The arguments passed to the ExecuteSelect(DataSourceSelectArguments) method specify that the data source should perform some additional work while retrieving data to enable paging or sorting through the retrieved data, but the data source control does not support the requested capability.

-or-

The object returned by the ExecuteSelect(DataSourceSelectArguments) method is not a DataSet or DataTable, and caching is enabled. Only DataSet and DataTable objects can be cached for the ObjectDataSourceView control.

-or-

Both caching and client impersonation are enabled. The ObjectDataSource does not support caching when client impersonation is enabled.

The object returned by the ExecuteSelect(DataSourceSelectArguments) method is a DataSet, but has no tables in its Tables collection.

-or-

The EnablePaging property is set to true, but the StartRowIndexParameterName and MaximumRowsParameterName properties are not set.

Remarks

The ObjectDataSourceView class implements the inherited ExecuteSelect method to retrieve data using a business object. Page developers and data-bound control authors do not call the ExecuteSelect method directly; instead, use the publicly exposed Select method.

The specified method can have any method signature, but must return one of the types for the ObjectDataSource control that are listed in the following table 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.

Before the data retrieval is performed, the OnSelecting method is called to raise the Selecting event. You can handle this event to examine the values of the parameters and to perform any preprocessing before an operation.

To perform a select operation, the ObjectDataSourceView control uses reflection to call the method that is identified by the SelectMethod property and any associated parameters that are in the SelectParameters collection, and then executes it. After the operation completes, the OnSelected method is called to raise the Selected event. You can handle this event to examine any return values and error codes, and to perform any post-processing.

If the Select method returns a DataSet object and caching is enabled, the ObjectDataSourceView retrieves data from and saves data to the cache during the operation. The cache is created, discarded, or refreshed based on the caching behavior that is specified by the combination of the CacheDuration and CacheExpirationPolicy properties.

If the Select method returns a DataSet object and a FilterExpression property has been specified, it is evaluated along with any supplied FilterParameters properties and the resulting filter is applied to the list of data during the Select operation.

For information on returning the number of rows selected, see Select.

Applies to

See also