使用 GridView`、`DetailsView`、`FormView` 內建插入、編輯、刪除特性時,用戶新增記錄或更新/刪除現有記錄過程中發生多步驟。如前節所述,GridView` 編輯列時,儲存(Update)與取消按鈕取代編輯按鈕,繫結欄轉為 TextBox。用戶更新資料點擊儲存後,回傳時執行步驟:
GridView` 依當前編輯列唯一識別欄位(透過 DataKeyNames` 屬性)組裝 ObjectDataSource` 的 UpdateParameters` 參數連同用戶輸入值GridView` 呼叫 ObjectDataSource` 的 Update()` 方法,轉而呼叫潛在物件適當方法(ProductsDAL.UpdateProduct`,前節)GridView`此連續步驟觸發多事件,讓我們建立事件處理程式在需要處加入自訂邏輯。例:步驟 1 前觸發 GridView` 事件,可取消更新請求。呼叫 Update()` 時觸發 ObjectDataSource` 的 Updating` 事件,提供增加自訂 UpdateParameters` 值機會。ObjectDataSource` 潛在物件方法完全執行後觸發 Updated` 事件,處理器可檢查更新操作詳細資訊(影響列數、是否引發例外)。步驟 2 後觸發 GridView` 的 RowUpdated` 事件,處理器可檢查剛完成更新操作額外資訊。
圖 1 描述 GridView` 更新時連續事件與步驟。此事件模式不僅限 GridView` 更新,從 GridView`、`DetailsView`、`FormView` 插入、更新、刪除時,資料 Web 伺服器控制項與 ObjectDataSource` 均發生此連續前置與後置事件。

圖 1:當在 GridView 裡更新數據時,觸發一連串的 Pre- 和 Post- 事件
探討使用這些事件擴展 ASP.NET 資料 Web 伺服器控制項內建插入、更新、刪除功能。也將看如何自訂編輯介面僅更新部分產品欄位。