ObjectDataSourceView 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
支持 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 实现 ObjectDataSource 控件的数据功能,包括 Select、 Update、 Delete和 Insert 操作、排序、筛选和管理保留在视图状态的设置。
在运行时为 类的每个实例ObjectDataSource创建一个 ObjectDataSourceView 对象。 对 类实例的数据操作的 ObjectDataSource 调用由 对象的实例 ObjectDataSourceView 处理。 页面开发人员不会直接访问 类的 ObjectDataSourceView 实例。 控件开发人员可以通过扩展 ObjectDataSource 和 ObjectDataSourceView 类来创建自定义数据控件。
类 ObjectDataSourceView 通过使用反射对业务或数据对象调用方法来执行数据操作。 在运行时,控件 ObjectDataSource 创建 由 TypeName 属性标识的类型的实例,然后为数据操作调用相应的方法。 实例化的对象不会由 ObjectDataSourceView缓存在内存中。 将为每个数据方法调用创建和销毁对象。 如果在 Visual Basic) 中 (Shared
该方法static
,则不会创建实例,但仍会调用数据操作方法。
ObjectDataSourceView控件不会直接向页面开发人员ObjectDataSource公开 。 而是通过 ObjectDataSource访问 的属性ObjectDataSourceView和方法。 例如,DeleteMethodObjectDataSourceView通过设置 DeleteMethod 的 属性来设置 属性。ObjectDataSource
检索数据
数据源视图执行的最基本操作是使用 Select 方法从基础数据存储检索数据,该方法检索 IEnumerable 数据项的集合。 以下数据检索方法、属性和事件由 对象实现, ObjectDataSourceView 并由其 ObjectDataSource 控件直接公开给页面开发人员和其他调用方:
Select 方法
SelectMethod 属性
Selecting 事件
Selected 事件
更新数据
对象 ObjectDataSourceView 通过调用 由 UpdateMethod 属性标识的业务或数据对象方法支持数据更新。 自动执行更新的数据绑定控件(如 GridView 和 DetailsView 控件)将其参数在 接口中 IOrderedDictionary 传递给 , ObjectDataSourceView 视图对象将这些参数与集合中找到 UpdateParameters 的任何参数合并。
以下更新方法、属性和事件由 ObjectDataSourceView 实现,并由其 ObjectDataSource 控件直接公开给页面开发人员和其他调用方:
Update 方法
UpdateMethod 属性
Updating 事件
Updated 事件
插入数据
对象 ObjectDataSourceView 支持通过调用 由 InsertMethod 属性标识的业务或数据对象方法插入新的数据行。 自动执行插入的数据绑定控件(如 GridView 和 DetailsView)将其参数在 接口中 IOrderedDictionary 传递给 , ObjectDataSourceView 视图对象将这些参数与集合中找到 InsertParameters 的任何参数合并。
以下插入方法、属性和事件由 ObjectDataSourceView 实现,并由其 ObjectDataSource 控件直接公开给页面开发人员和其他调用方:
Insert 方法
InsertMethod 属性
Inserting 事件
Inserted 事件
删除数据
对象 ObjectDataSourceView 支持通过调用 由 属性标识的业务或数据对象方法删除数据 DeleteMethod 。 自动执行删除的数据绑定控件(如 GridView 和 DetailsView)将其参数在 接口中 IOrderedDictionary 传递给 , ObjectDataSourceView 视图对象将这些参数与集合中找到 DeleteParameters 的任何参数合并。 以下删除方法、属性和事件由 ObjectDataSourceView 实现,并由其 ObjectDataSource 控件直接公开给页面开发人员和其他调用方:
Delete 方法
DeleteMethod 属性
Deleting 事件
Deleted 事件
筛选和排序数据
当可以动态筛选数据时,数据检索功能更强大。 仅当 方法返回 DataTable 或 DataSet 对象时,ObjectDataSourceSelect控件才支持筛选。 可以使用 FilterExpression 和 FilterParameters 属性对数据检索应用动态筛选。 这些属性由 对象实现, ObjectDataSourceView 并由其 ObjectDataSource 控件直接向数据绑定控件和其他调用方公开。
检索数据后,可以通过在内存中对检索的数据进行排序,对 ObjectDataSource 检索到的数据进行排序。 仅当 方法返回 DataTable 或 DataSet时, ObjectDataSourceSelect 控件才支持排序。 属性 CanSort 始终返回 true
,因为 如果不调用 方法, ObjectDataSourceView 则无法确定 方法返回 Select 的类型。 属性 SortExpression 语法与 属性的 语法相同 DataView.Sort 。
跟踪视图状态
实现 ObjectDataSourceView 接口并使用 IStateManager 视图状态跨页面请求跟踪其状态。 提供 、 SaveViewState和 TrackViewState 方法的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 值是否自动从 |
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 |
获取或设置一个格式字符串,该字符串应用于传递给 |
ParsingCulture |
当将字符串值转换为实际属性类型来构造由 DataObjectTypeName 指示的对象类型时,获取或设置表示哪些区域性信息被用了的值。 |
SelectCountMethod |
获取或设置 ObjectDataSourceView 控件调用以检索行数的方法或函数的名称。 |
SelectMethod |
获取或设置 ObjectDataSourceView 控件调用以检索数据的方法或函数的名称。 |
SelectParameters |
获取参数集合,该集合包含由 SelectMethod 方法使用的参数。 |
SortParameterName |
获取或设置数据检索方法参数的名称,该参数用于指定数据源排序支持的排序表达式。 |
StartRowIndexParameterName |
获取或设置数据检索方法参数的名称,该参数用于指示从数据源分页支持的结果集中检索的第一条记录的整数索引。 |
TypeName |
获取或设置 ObjectDataSource 控件表示的类的名称。 |
UpdateMethod |
获取或设置 ObjectDataSourceView 对象调用以更新数据的方法或函数的名称。 |
UpdateParameters |
获取参数集合,该集合包含由 UpdateMethod 方法使用的参数。 |
方法
事件
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()。 |