ObjectDataSource.Select 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
透過呼叫由屬性識別 SelectMethod 的方法與集合中的 SelectParameters 參數,從底層資料儲存中取得資料。
public:
System::Collections::IEnumerable ^ Select();
public System.Collections.IEnumerable Select();
member this.Select : unit -> System.Collections.IEnumerable
Public Function Select () As IEnumerable
傳回
一份 IEnumerable 資料列清單。
範例
如需程式碼範例,請參閱ObjectDataSource。
備註
指定的方法可以有任意方法簽名,但必須回傳或由下表列出的類型之一衍生,控制項才能 ObjectDataSource 成功呼叫。
| 傳回類型 | Action |
|---|---|
| IEnumerable | 由 IEnumerable 方法回傳 Select 。 |
| DataTable | DataView A 是透過使用 和 DataTable 方法返回Select的。 |
| DataView | 由 DataView 方法回傳 Select 。 |
| DataSet | DataTable DataSet第一個 被提取,然後用方法Select產生 a DataView 並返回。 |
| Object | 物件會被封裝在一個元素集合 IEnumerable 中,並由 Select 方法回傳。 |
由該SelectMethod屬性標識的方法可以是實例方法,也可以是(Shared在 Visual Basic 中)方法static。 如果是實例方法,則每次呼叫該 SelectMethod 屬性指定的方法時,該商業物件都會被建立並銷毀,但同時呼叫該 SelectMethod 屬性指定的方法與該屬性指定的方法 SelectCountMethod 。 該方法回 Select 傳一個 IEnumerable 介面。 然而,為了實現快取與過濾情境,返回值必須是一個 DataSet 物件。 雖然 DataSet 類別不實作介面, IEnumerable 但控制 ObjectDataSource 項會自動擷取預設 DataView 控制項,該控制項實 IEnumerable作 。
在操作執行前 Select ,會呼叫該 OnSelecting 方法來引發 Selecting 事件。 你可以處理 Selecting 事件來檢查參數值,並在操作 Select 前執行任何預處理。 為了執行資料檢索操作,物件 ObjectDataSourceView 會利用反射來建立由屬性識別 TypeName 的物件實例。 接著它呼叫由該 SelectMethod 屬性識別的方法,並利用所有相關的 SelectParameters 屬性。 操作完成後 Select ,會呼叫該 OnSelected 方法來啟動事件 Selected 。 你可以處理 Selected 這個事件來檢查任何回傳值、輸出參數和異常,並執行任何後製處理。
若屬性 SelectMethod 回傳 DataSet、 DataTable或 DataView 物件且啟用快取, ObjectDataSource 操作過程中 Select 會從快取中擷取資料並儲存至快取。 快取的建立、丟棄或刷新,是根據與CacheExpirationPolicy屬性組合CacheDuration所指定的快取行為。
若該 SelectMethod 屬性回傳 DataSet or DataTable 物件,且已指定屬性 FilterExpression ,則會以所提供的 FilterParameters 屬性評估該物件,並在操作過程中 Select 將該篩選器套用到資料清單中。
該Select方法委派給Select與控制點相關的ObjectDataSource方法ObjectDataSourceView。
欲了解更多關於參數合併、物件壽命及方法解析的資訊,請參見 SelectMethod。
Data-Bound 控制
當控制 ObjectDataSource 項與資料綁定控制項相關聯時, GridView 無需從頁面程式碼呼叫該 Select 方法。 Select該方法則由資料綁定控制項直接呼叫。