在前面的部分中,你已经看到了几个数据控件事件的例子。数据控件的事件 都是在页面执行生命周期的适当时候提供给你,供你插入自定义代码的。一般情 况下,在某种特定的操作发生之前和之后,数据控件都会暴露事件。在某种操作 之前调用的事件的名称一般带有-ing后缀,而在某种操作之后调用的事件的名称 一般带有-ed后缀。例如,GridView所支持的事件包括:
· PageIndexChanging和PageIndexChanged - 在分页操作之前和之后引发
· SelectedIndexChanging和SelectedIndexChanged - 在选择操作发生之前 和之后引发
· Sorting和Sorted - 在排序操作之前和之后引发
· RowEditing和RowCancelingEdit - 在数据行进入编辑模式之前或编辑模 式被终止之前引发
· RowUpdating和RowUpdated - 在更新操作之前和之后引发
· RowDeleting和RowDeleted - 在删除操作之前和之后引发
· RowDataBound - 当数据行进行数据绑定的时候引发
· RowCreated - 当建立了数据行并显示的时候引发
· RowCommand - 调用内部控件的按钮命令的时候引发
数据源控件也暴露了一些事件,与数据绑定控件的事件类似。SqlDataSource 和ObjectDataSource控件都支持下面一些事件:
· Selecting和Selected - 在选择操作之前和之后引发
· Updating和Updated - 在更新操作之前和之后引发
· Deleting和Deleted - 在删除操作之前和之后引发
· Inserting和Inserted - 在插入操作之前和之后引发
· Filtering - 在过滤器操作发生之前引发
当ObjectDataSource控件的TypeName属性所指定的对象建立或销毁的时候, 它还提供了额外的事件。你可以通过设置随事件参数传递的ObjectInstance属性 ,在ObjectCreating事件中设置自定义的对象。
· ObjectCreating和ObjectCreated - 在对象被建立之前和之后引发
· ObjectDisposing - 在对象销毁之前引发