前面學習建立項目層級的 DataList,同可編輯 GridView 一樣,每個項目包含編輯按鈕,點擊後進入編輯模式。項目層級編輯適用於偶爾更新,但用戶若需編輯大量記錄,頻繁點擊「編輯→修改→更新」嚴重影響效率。此時提供完全可編輯的 DataList更佳:所有項目皆處於編輯模式,所有值可透過單一「全部更新」按鈕一次提交(見圖 1)。

圖 1:一個完全可編輯的 DataList 的所有項目都可以被修改
學習建立完全可編輯的 DataList,提供用戶更新供應商地址功能。
建立標準項目層級編輯 DataList 時使用兩個模板:
DataList 的 EditItemIndex 屬性指示哪個 DataListItem 使用 EditItemTemplate 顯示。單項編輯時運作良好,但完全可編輯 DataList 需所有項目以可編輯介面顯示。最簡單做法:在 ItemTemplate 直接定義可編輯介面。修改供應商地址資訊時,供應商名稱以文字顯示,地址、城市、國家以 TextBox 表示。
開啟 BatchUpdate.aspx,加入 DataList 設 ID 為 Suppliers。透過智慧標籤加入名為 SuppliersDataSource 的 ObjectDataSource 控制項。

圖 2:建立一個名為 SuppliersDataSource 的 ObjectDataSource