Share via


ObjectDataSource Web 伺服器控制項概觀

更新:2007 年 11 月

ASP.NET ObjectDataSource 控制項代表搭配資料擷取和更新功能的中介層物件。ObjectDataSource 控制項可做為資料繫結控制項 (如 GridViewFormViewDetailsView 控制項) 的資料介面。您可以使用這些控制項,在 ASP.NET Web 網頁上顯示和編輯中介層商務物件上的資料。

這個主題包含:

  • 背景

  • 程式碼範例

  • 類別參考

背景

大部分 ASP.NET 資料來源控制項 (例如,SqlDataSource) 會用在雙層應用程式架構內,其中展示層 (ASP.NET Web 網頁) 會直接與資料層 (資料庫、XML 檔案等) 通訊。然而,常見的應用程式設計是將展示層與商務邏輯分開,並且將商務邏輯封裝在商務物件中。這些商務物件會在展示層和資料層之間構成一個層級,形成三層式應用程式架構。ObjectDataSource 控制項提供將網頁上的資料控制項繫結至中介層商務物件的方法,以支援三層式架構。ObjectDataSource 適用於中介層商務物件,能夠在不需撰寫各種程式碼的情況下,以宣告方式選取、插入、更新、刪除、分頁、排序、快取和篩選資料。

ObjectDataSource 控制項會使用反映 (Reflection) 呼叫商務物件的方法,以便選取、更新、插入和刪除資料。設定 ObjectDataSource 控制項的 TypeName 屬性,以指定用來當做來源物件的類別 (Class) 名稱。如需如何建立搭配 ObjectDataSource 控制項使用之來源資料物件的詳細資訊,請參閱建立 ObjectDataSource 控制項來源物件

排序和分頁

ObjectDataSource 控制項能夠藉由從資料繫結控制項 (例如,GridView 控制項),將要處理的排序和分頁資訊要求傳遞至資料物件,以支援其他排序和分頁功能。然後,來源資料物件或資料來源控制項本身,就能夠排序資料並且以網頁方式傳回資料。

如需將排序和分頁參數傳遞至 ObjectDataSource 控制項資料物件的詳細資訊,請參閱使用參數和 ObjectDataSource 控制項

快取

ObjectDataSource 控制項能夠快取基礎商務物件傳回的物件。然而,您不應該快取儲存資源,或維護無法在多重要求之間共用狀態的物件,例如,開啟 DataReader 物件。

篩選

如果來源資料物件傳回給 ObjectDataSource 控制項的物件是 DataSetDataTable 物件,ObjectDataSource 控制項可以使用 DataColumn 類別的 Expression 屬性語法支援篩選。篩選可以讓您只公開符合特定搜尋準則的資料列,而不需要使用新的選取準則重新查詢資料來源。如需詳細資訊,請參閱使用資料來源控制項篩選資料

衝突偵測

您可以藉由將 ObjectDataSource 控制項的 ConflictDetection 屬性設定為 true,以指定 ObjectDataSource 控制項在呼叫來源資料物件的更新方法時,應該包含的原始值。接下來,就可以在檢查開放式並行存取 (Optimistic Concurrency) 時包含原始值。如需詳細資訊,請參閱使用參數和 ObjectDataSource 控制項。如需開放式並行存取檢查的詳細資訊,請參閱開放式並行存取 (ADO.NET)

回到頁首

程式碼範例

使用參數和 ObjectDataSource 控制項

逐步解說:資料繫結至自訂的商務物件

建立 ObjectDataSource 控制項來源物件

回到頁首

類別參考

下表列出與 ObjectDataSource 控制項相關的重要類別。

成員

描述

ObjectDataSource

控制項的主要類別。

回到頁首

請參閱

概念

LinqDataSource Web 伺服器控制項概觀