返回頁首
ObjectDataSource
GridView 和其他數據綁定控件的最出色的功能之一是,在設置了它們以后,只需更改單個屬性,就可以將它們綁定到 ObjectDataSource 控件或 SqlDataSource 控件。例如,您必須完成的所有工作就是創建一個新的 ObjectDataSource 控件,并將 GridView 的 DataSourceID 屬性更改為這個新的 ObjectDataSource 控件的 ID。
與 SqlDataSource 不同的是,ObjectDataSource 控件使您可以從 ASPX 頁和表示層中抽象出特定于數據庫的設置,并將它們移至多層體系結構中的較低層(參見圖 7)。例如,SqlDataSource 控件的 ConnectionString、ProviderName 和 SelectCommand 屬性在 ObjectDataSource 控件中不存在。相反,它們被替換為告訴 ObjectDataSource 控件實例化哪個業務類以及使用哪個方法來檢索或修改數據的其他屬性。

圖 7 層
要設置 ObjectDataSource 控件以訪問另一個層的業務類及其方法,必須首先將 ObjectDataSource 控件的 TypeName 屬性設置為該業務類的名稱(如 TypeName="MSDN2005Jan_BLL.Orders")。然后,將 SelectMethod 屬性設置為該業務類中將用來檢索數據源數據的方法的名稱。該業務類的方法必須返回一個可枚舉的列表,例如,集合、數組、DataSet 或 DataReader。為了讓該方案能夠工作,ObjectDataSource 必須能夠執行指定的方法。如果它是靜態方法,則不需要完成任何特殊的工作。如果該方法是實例方法,則 ObjectDataSource 必須能夠創建該類的實例。要達到該目的,最簡單的方法是將該業務類編寫為包含默認的構造函數。另外,還可以處理 ObjectDataSource 的 ObjectCreating 事件,它使您可以用所需的任何構造函數來實例化該對象,然后將該對象實例傳遞給數據源控件。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/