ObjectDataSourceView 类

定义

支持 ObjectDataSource 控件并提供一个接口,使数据绑定控件可以对业务对象和数据对象执行数据操作。

public ref class ObjectDataSourceView : System::Web::UI::DataSourceView, System::Web::UI::IStateManager
public class ObjectDataSourceView : System.Web.UI.DataSourceView, System.Web.UI.IStateManager
type ObjectDataSourceView = class
    inherit DataSourceView
    interface IStateManager
Public Class ObjectDataSourceView
Inherits DataSourceView
Implements IStateManager
继承
ObjectDataSourceView
实现

注解

ObjectDataSourceView 主要供数据绑定控件使用,而不是作为页面代码中的可编程对象。

ObjectDataSourceView 实现 ObjectDataSource 控件的数据功能,包括 SelectUpdateDeleteInsert 操作、排序、筛选和管理保留在视图状态的设置。

在运行时为 类的每个实例ObjectDataSource创建一个 ObjectDataSourceView 对象。 对 类实例的数据操作的 ObjectDataSource 调用由 对象的实例 ObjectDataSourceView 处理。 页面开发人员不会直接访问 类的 ObjectDataSourceView 实例。 控件开发人员可以通过扩展 ObjectDataSourceObjectDataSourceView 类来创建自定义数据控件。

ObjectDataSourceView 通过使用反射对业务或数据对象调用方法来执行数据操作。 在运行时,控件 ObjectDataSource 创建 由 TypeName 属性标识的类型的实例,然后为数据操作调用相应的方法。 实例化的对象不会由 ObjectDataSourceView缓存在内存中。 将为每个数据方法调用创建和销毁对象。 如果在 Visual Basic) 中 (Shared该方法static,则不会创建实例,但仍会调用数据操作方法。

ObjectDataSourceView控件不会直接向页面开发人员ObjectDataSource公开 。 而是通过 ObjectDataSource访问 的属性ObjectDataSourceView和方法。 例如,DeleteMethodObjectDataSourceView通过设置 DeleteMethod 的 属性来设置 属性。ObjectDataSource

检索数据

数据源视图执行的最基本操作是使用 Select 方法从基础数据存储检索数据,该方法检索 IEnumerable 数据项的集合。 以下数据检索方法、属性和事件由 对象实现, ObjectDataSourceView 并由其 ObjectDataSource 控件直接公开给页面开发人员和其他调用方:

更新数据

对象 ObjectDataSourceView 通过调用 由 UpdateMethod 属性标识的业务或数据对象方法支持数据更新。 自动执行更新的数据绑定控件(如 GridViewDetailsView 控件)将其参数在 接口中 IOrderedDictionary 传递给 , ObjectDataSourceView 视图对象将这些参数与集合中找到 UpdateParameters 的任何参数合并。

以下更新方法、属性和事件由 ObjectDataSourceView 实现,并由其 ObjectDataSource 控件直接公开给页面开发人员和其他调用方:

插入数据

对象 ObjectDataSourceView 支持通过调用 由 InsertMethod 属性标识的业务或数据对象方法插入新的数据行。 自动执行插入的数据绑定控件(如 GridViewDetailsView)将其参数在 接口中 IOrderedDictionary 传递给 , ObjectDataSourceView 视图对象将这些参数与集合中找到 InsertParameters 的任何参数合并。

以下插入方法、属性和事件由 ObjectDataSourceView 实现,并由其 ObjectDataSource 控件直接公开给页面开发人员和其他调用方:

删除数据

对象 ObjectDataSourceView 支持通过调用 由 属性标识的业务或数据对象方法删除数据 DeleteMethod 。 自动执行删除的数据绑定控件(如 GridViewDetailsView)将其参数在 接口中 IOrderedDictionary 传递给 , ObjectDataSourceView 视图对象将这些参数与集合中找到 DeleteParameters 的任何参数合并。 以下删除方法、属性和事件由 ObjectDataSourceView 实现,并由其 ObjectDataSource 控件直接公开给页面开发人员和其他调用方:

筛选和排序数据

当可以动态筛选数据时,数据检索功能更强大。 仅当 方法返回 DataTableDataSet 对象时,ObjectDataSourceSelect控件才支持筛选。 可以使用 FilterExpressionFilterParameters 属性对数据检索应用动态筛选。 这些属性由 对象实现, ObjectDataSourceView 并由其 ObjectDataSource 控件直接向数据绑定控件和其他调用方公开。

检索数据后,可以通过在内存中对检索的数据进行排序,对 ObjectDataSource 检索到的数据进行排序。 仅当 方法返回 DataTableDataSet时, ObjectDataSourceSelect 控件才支持排序。 属性 CanSort 始终返回 true,因为 如果不调用 方法, ObjectDataSourceView 则无法确定 方法返回 Select 的类型。 属性 SortExpression 语法与 属性的 语法相同 DataView.Sort

跟踪视图状态

实现 ObjectDataSourceView 接口并使用 IStateManager 视图状态跨页面请求跟踪其状态。 提供 、 SaveViewStateTrackViewState 方法的LoadViewState实现,以启用控件的视图状态跟踪。 有关详细信息,请参阅 ASP.NET 状态管理概述

构造函数

ObjectDataSourceView(ObjectDataSource, String, HttpContext)

初始化 ObjectDataSourceView 类的新实例。

属性

CanDelete

获取一个值,该值指示与当前的 ObjectDataSourceView 控件关联的 ObjectDataSource 对象是否支持删除操作。

CanInsert

获取一个值,该值指示与当前的 ObjectDataSourceView 控件关联的 ObjectDataSource 对象是否支持插入操作。

CanPage

获取一个值,该值指示与当前的 ObjectDataSourceView 控件关联的 ObjectDataSource 对象是否支持对检索的数据分页。

CanRetrieveTotalRowCount

获取一个值,该值指示与当前的 ObjectDataSourceView 控件关联的 ObjectDataSource 对象除了支持检索数据集外,是否还支持检索数据行总数。

CanSort

获取一个值,该值指示与当前 ObjectDataSource 控件相关联的 ObjectDataSourceView 对象是否支持基础数据源上的排序视图。

CanUpdate

获取一个值,该值指示与当前的 ObjectDataSourceView 控件关联的 ObjectDataSource 对象是否支持更新操作。

ConflictDetection

获取或设置一个值,该值确定在操作期间,当基础数据存储中某行的数据更改时,ObjectDataSource 控件如何执行更新和删除操作。

ConvertNullToDBNull

获取或设置一个值,该值指示传递给更新、插入或删除操作的 Parameter 值是否自动从 null 转换为 Value 值。

DataObjectTypeName

获取或设置 ObjectDataSource 控件用于数据操作中的参数的类的名称。 ObjectDataSource 控件使用指定的类,而不是位于各种参数集合中的 Parameter 对象。

DeleteMethod

获取或设置 ObjectDataSourceView 对象调用以删除数据的方法或函数的名称。

DeleteParameters

获取参数集合,该集合包含由 DeleteMethod 方法使用的参数。

EnablePaging

获取或设置一个值,该值指示数据源控件是否支持对它检索的数据集进行分页。

Events

获取数据源视图的事件处理程序委托的列表。

(继承自 DataSourceView)
FilterExpression

获取或设置在调用由 SelectMethod 属性标识的业务对象方法时应用的筛选表达式。

FilterParameters

获取与 FilterExpression 字符串中的任何参数占位符关联的参数的集合。

InsertMethod

获取或设置 ObjectDataSourceView 对象调用以插入数据的方法或函数的名称。

InsertParameters

获取参数集合,该集合包含由 InsertMethod 方法使用的参数。

IsTrackingViewState

获取一个值,该值指示 ObjectDataSourceView 对象是否保存对其视图状态的更改。

MaximumRowsParameterName

获取或设置数据检索方法参数的名称,该参数用于指示为数据源分页支持检索的记录数。

Name

获取数据源视图的名称。

(继承自 DataSourceView)
OldValuesParameterFormatString

获取或设置一个格式字符串,该字符串应用于传递给 DeleteUpdate 方法的原始值的参数名称。

ParsingCulture

当将字符串值转换为实际属性类型来构造由 DataObjectTypeName 指示的对象类型时,获取或设置表示哪些区域性信息被用了的值。

SelectCountMethod

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

SelectMethod

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

SelectParameters

获取参数集合,该集合包含由 SelectMethod 方法使用的参数。

SortParameterName

获取或设置数据检索方法参数的名称,该参数用于指定数据源排序支持的排序表达式。

StartRowIndexParameterName

获取或设置数据检索方法参数的名称,该参数用于指示从数据源分页支持的结果集中检索的第一条记录的整数索引。

TypeName

获取或设置 ObjectDataSource 控件表示的类的名称。

UpdateMethod

获取或设置 ObjectDataSourceView 对象调用以更新数据的方法或函数的名称。

UpdateParameters

获取参数集合,该集合包含由 UpdateMethod 方法使用的参数。

方法

CanExecute(String)

确定是否能执行指定命令。

(继承自 DataSourceView)
Delete(IDictionary, IDictionary)

执行删除操作,方法是使用指定的 keysoldValues 集合调用由 DeleteMethod 属性标识的业务对象方法。

Delete(IDictionary, IDictionary, DataSourceViewOperationCallback)

DataSourceView 对象所表示的数据列表执行异步删除操作。

(继承自 DataSourceView)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
ExecuteCommand(String, IDictionary, IDictionary)

执行指定的命令。

(继承自 DataSourceView)
ExecuteCommand(String, IDictionary, IDictionary, DataSourceViewOperationCallback)

执行指定的命令。

(继承自 DataSourceView)
ExecuteDelete(IDictionary, IDictionary)

使用 DeleteMethod 方法和指定的 keysoldValues 集合执行删除操作。

ExecuteInsert(IDictionary)

执行插入操作,方法是使用指定的 values 集合调用由 InsertMethod 属性标识的业务对象方法。

ExecuteSelect(DataSourceSelectArguments)

通过调用 TypeName 属性标识的方法并传递 SelectMethod 集合中的所有值,从 SelectParameters 属性标识的对象中检索数据。

ExecuteUpdate(IDictionary, IDictionary, IDictionary)

通过调用由 UpdateMethod 属性标识的方法和使用 keysvaluesoldValues 集合中提供的所有参数以执行更新操作。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Insert(IDictionary)

执行插入操作,方法是使用指定的 values 集合调用由 InsertMethod 属性标识的业务对象方法。

Insert(IDictionary, DataSourceViewOperationCallback)

DataSourceView 对象所表示的数据列表执行异步插入操作。

(继承自 DataSourceView)
LoadViewState(Object)

还原数据源视图的以前保存的视图状态。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnDataSourceViewChanged(EventArgs)

引发 DataSourceViewChanged 事件。

(继承自 DataSourceView)
OnDeleted(ObjectDataSourceStatusEventArgs)

Deleted 对象完成删除操作后引发 ObjectDataSourceView 事件。

OnDeleting(ObjectDataSourceMethodEventArgs)

Deleting 对象尝试执行删除操作之前引发 ObjectDataSourceView 事件。

OnFiltering(ObjectDataSourceFilteringEventArgs)

Filtering 对象尝试执行筛选操作前引发 ObjectDataSourceView 事件。

OnInserted(ObjectDataSourceStatusEventArgs)

Inserted 对象完成插入操作后引发 ObjectDataSourceView 事件。

OnInserting(ObjectDataSourceMethodEventArgs)

Inserting 对象尝试执行插入操作之前引发 ObjectDataSourceView 事件。

OnObjectCreated(ObjectDataSourceEventArgs)

ObjectCreated 创建 ObjectDataSourceView 属性标识的对象的实例之后引发 TypeName 事件。

OnObjectCreating(ObjectDataSourceEventArgs)

ObjectCreating 对象创建业务对象的实例以执行数据操作之前引发 ObjectDataSourceView 事件。

OnObjectDisposing(ObjectDataSourceDisposingEventArgs)

ObjectDisposing 对象丢弃实例化类型之前引发 ObjectDataSourceView 事件。

OnSelected(ObjectDataSourceStatusEventArgs)

Selected 对象已经完成数据检索操作后引发 ObjectDataSourceView 事件。

OnSelecting(ObjectDataSourceSelectingEventArgs)

Selecting 对象尝试执行数据检索操作之前引发 ObjectDataSourceView 事件。

OnUpdated(ObjectDataSourceStatusEventArgs)

Updated 对象已经完成更新操作后引发 ObjectDataSourceView 事件。

OnUpdating(ObjectDataSourceMethodEventArgs)

Updating 对象尝试执行更新操作之前引发 ObjectDataSourceView 事件。

RaiseUnsupportedCapabilityError(DataSourceCapabilities)

RaiseUnsupportedCapabilitiesError(DataSourceView) 方法调用,用于将 ExecuteSelect(DataSourceSelectArguments) 操作所请求的功能与视图所支持的功能进行比较。

(继承自 DataSourceView)
SaveViewState()

保存自页回发到服务器后,ObjectDataSourceView 对象的视图状态更改。

Select(DataSourceSelectArguments)

通过调用 TypeName 属性标识的方法并传递 SelectMethod 集合中的所有值,从 SelectParameters 属性标识的对象中检索数据。

Select(DataSourceSelectArguments, DataSourceViewSelectCallback)

从基础数据存储中异步获取数据列表。

(继承自 DataSourceView)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
TrackViewState()

使 ObjectDataSourceView 对象跟踪其视图状态的更改,以便这些更改可以存储在控件的 ViewState 对象中并且能够在同一页的不同请求间保持。

Update(IDictionary, IDictionary, IDictionary)

通过调用由 UpdateMethod 属性标识的方法和使用 keysvaluesoldValues 集合中提供的所有参数以执行更新操作。

Update(IDictionary, IDictionary, IDictionary, DataSourceViewOperationCallback)

DataSourceView 对象所表示的数据列表执行异步更新操作。

(继承自 DataSourceView)

事件

DataSourceViewChanged

在数据源视图更改时发生。

(继承自 DataSourceView)
Deleted

Delete 操作完成时发生。

Deleting

Delete 操作前发生。

Filtering

执行筛选操作前发生。

Inserted

Insert 操作完成时发生。

Inserting

Insert 操作前发生。

ObjectCreated

ObjectDataSourceView 对象创建 TypeName 属性标识的类型的实例后发生。

ObjectCreating

ObjectDataSourceView 对象创建 TypeName 属性标识的类型的实例之前发生。

ObjectDisposing

ObjectDataSourceView 对象丢弃已经创建的对象的实例时发生。

Selected

数据检索操作完成后发生。

Selecting

执行数据检索操作前发生。

Updated

Update 操作完成时发生。

Updating

Update 操作前发生。

显式接口实现

IStateManager.IsTrackingViewState

有关此成员的说明,请参见 IsTrackingViewState

IStateManager.LoadViewState(Object)

有关此成员的说明,请参见 LoadViewState(Object)

IStateManager.SaveViewState()

有关此成员的说明,请参见 SaveViewState()

IStateManager.TrackViewState()

有关此成员的说明,请参见 TrackViewState()

适用于

另请参阅