ASP.NET 2.0数据教程之十七: 研究插入、更新和删除的关联事件2010-08-09 翻译:cnblogs №.零零伍返回“”导言当使用GridView、DetailsView或FormView控件的内建插入、编辑 或删除特征时,在用户添加一条新记录或更新/删除一条现在记录的过程中发生了 多个步骤。正如我们之前一节里所讨论的,在GridView中编辑一行时,保存 (Update)和取消(Cancel)按钮将取代编辑(Edit)按钮,并且绑定列转换成 TextBox。在用户更新了数据并点击保存按钮之后,下述步骤在回传时执行:1.该GridView控件根据当前编辑行的唯一标识字段(通过DataKeyNames属 性)组装它的ObjectDataSource的UpdateParameters参数,连同用户输入的值2.该GridView控件调用它的ObjectDataSource的Update()方法,它转而调 用潜在对象的适当的方法(ProductsDAL.UpdateProduct,我们之前一节里)3.现在,这些隐含的数据,包含保存后的更改,被重新绑定到GridView控 件在这一连串的步骤里,触发了许多事件,这让我们可以创建事件处理程 序从而在需要的地方增加自定义逻辑。例如,在第1步之前,触发GridView的事件 。在这里,如果有什么validation错误我们可以取消更新请求。当调用Update() 方法时,触发ObjectDataSource的Updating事件,提供了增加或自定义 UpdateParameters的值的机会。在ObjectDataSource的潜在对象的方法完全执行 后,触发ObjectDataSource的Updated事件。针对Updated事件的事件处理程序可 以检查更新操作的相关详细信息,例如影响了多少行数据,或者是否引发了一个 异常。最后,在第2步之后,GridView的RowUpdated事件触发;针对此事件的事件 处理程序可以检查关于刚刚完成的更新操作的相关额外信息。图1描述了 使用GridView更新时这一系列连续的事件和步骤。图1里的这个事件模式不仅是在 GridView的更新操作。从GridView、DetailsView或者FormView里插入、更新或者 删除数据时,数据Web服务器控件和ObjectDataSource都会发生这一连串的pre- level和post-level的事件。

图1: 当在GridView里更新数据时,触发一连串的Pre-和Post-事件在这一节里,我们将探讨使用这些事件从而扩展ASP.NET数据Web服务器控 件的内建插入、更新和删除功能。我们也会看看如何自定义编辑界面从而仅仅更 新部分产品字段。