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 才能成功呼叫它。
傳回類型 | 動作 |
---|---|
IEnumerable | 方法 IEnumerable 會傳 Select 回 。 |
DataTable | 會 DataView 使用 方法 DataTable 所傳 Select 回的 來建立 。 |
DataView | 方法 DataView 會傳 Select 回 。 |
DataSet | 會擷取第DataSet一個 DataTableDataView ,並由方法建立和傳Select回 。 |
Object | 物件會包裝在一個專案 IEnumerable 集合中,並由方法傳 Select 回。 |
屬性所 SelectMethod 識別的方法可以是 Visual Basic) 方法中的實例方法或 static
(Shared
。 如果是實例方法,則每次呼叫 屬性所 SelectMethod 指定的方法時,都會建立並終結商業物件,不同之處在於相同的實例是用來呼叫 屬性所指定的方法 SelectMethod ,以及 屬性所 SelectCountMethod 指定的方法。 方法會 Select 傳 IEnumerable 回介面。 不過,若要啟用快取和篩選案例,傳回值必須是 DataSet 物件。 雖然 類別 DataSet 未實作 IEnumerable 介面,但 ObjectDataSource 控件會自動擷取預設 DataView 控件,以實作 IEnumerable。
Select在執行作業之前,會OnSelecting呼叫 方法來引發 Selecting 事件。 您可以處理 Selecting 事件來檢查參數的值,並在作業之前 Select 執行任何前置處理。 若要執行數據擷取作業,物件會 ObjectDataSourceView 使用反映來建立 屬性所 TypeName 識別之對象的實例。 然後,它會使用任何相關聯的SelectParameters屬性呼叫 屬性所SelectMethod識別的方法。 Select作業完成之後,OnSelected會呼叫 方法來引發 Selected 事件。 您可以處理 Selected 事件來檢查任何傳回值、輸出參數和例外狀況,以及執行任何後續處理。
SelectMethod如果屬性傳DataSet回、 DataTable或 DataView 物件和快取已啟用,則會ObjectDataSource從 中擷取數據,並在作業期間Select將數據儲存至快取。 根據 和 CacheExpirationPolicy 屬性的組合CacheDuration所指定的快取行為,建立、捨棄或重新整理快取。
SelectMethod如果屬性傳DataSet回 或 DataTable 物件,而且FilterExpression已指定屬性,則會使用任何提供FilterParameters的屬性進行評估,並在作業期間Select將產生的篩選套用至數據清單。
方法Select會委派給 Select 與 ObjectDataSource 控件相關聯之的 ObjectDataSourceView 方法。
如需參數合併、物件存留期和方法解析的詳細資訊,請參閱 SelectMethod。
資料繫結控制項
ObjectDataSource當控件與數據綁定控件相關聯時,例如 GridView 控件,就不需要從頁面代碼呼叫 Select 方法。 方法 Select 會改為由數據綁定控件直接叫用。