Share via


SqlPersonalizationProvider.FindState 方法

定義

根據指定的範圍和參數,傳回包含零或多個 PersonalizationStateInfo 衍生物件的集合。

public:
 override System::Web::UI::WebControls::WebParts::PersonalizationStateInfoCollection ^ FindState(System::Web::UI::WebControls::WebParts::PersonalizationScope scope, System::Web::UI::WebControls::WebParts::PersonalizationStateQuery ^ query, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public override System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection FindState (System.Web.UI.WebControls.WebParts.PersonalizationScope scope, System.Web.UI.WebControls.WebParts.PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords);
override this.FindState : System.Web.UI.WebControls.WebParts.PersonalizationScope * System.Web.UI.WebControls.WebParts.PersonalizationStateQuery * int * int * int -> System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection
Public Overrides Function FindState (scope As PersonalizationScope, query As PersonalizationStateQuery, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As PersonalizationStateInfoCollection

參數

scope
PersonalizationScope

PersonalizationScope,表示要查詢的個人化資訊。 這個值不能是 null

query
PersonalizationStateQuery

PersonalizationStateQuery,含有查詢。 這個值可以是 null

pageIndex
Int32

查詢的起始位置。

pageSize
Int32

要傳回的資料錄數。

totalRecords
Int32

可用的資料錄總數。

傳回

PersonalizationStateInfoCollection,含有零或多個 PersonalizationStateInfo 衍生物件。

例外狀況

pageIndex 小於零。

-或-

pageSize 小於或等於零。

-或-

pageSize 的組合 pageIndex 會產生大於Int32.MaxValue的值。

-或-

PathToMatch 是非 null 的,且於修剪後為空字串 ("")。

-或-

值為非 null 時,PathToMatch 的長度會大於 256 個字元。

-或-

UsernameToMatch 是非 null 的,且於修剪後為空字串。

-或-

值為非 null 時,UsernameToMatch 的長度會大於 256 個字元。

指定的 scope 不是 PersonalizationScope 列舉中的有效值。

備註

傳回的專案集受限於 pageSizepageIndex 參數,其中 pageSize 控制要傳回的記錄數目,以及 pageIndex 控制要傳回的記錄。 例如, pageIndex 0 和 pageSize 25 的 會傳回前 25 個出現次數,而 pageIndex 1 和 25 的 則會 pageSize 傳回 26-50 次。 如果您想要擷取所有可用的記錄,請將 設定 pageIndex 為 0,並將 設定 pageSizeMaxValue

PersonalizationStateInfo衍生物件會依字母順序以 和 Username 排序,以遞增順序 Path 傳回。

此方法會將查詢萬用字元傳遞至基礎資料存放區。 萬用字元的支援目前取決於每個提供者如何處理星號 (*) 、百分比符號 () %) 或底線 (_) 。

一般而言,針對符合 SQL 規範的資料存放區,您可以在部分路徑上執行萬用字元搜尋,其中萬用字元會出現在 屬性的 PathToMatch 開頭、結尾或搜尋字串文字中間。 例如,若要尋找以 「~/approot」 開頭的所有路徑, PathToMatch 屬性會設定為 「~/approot%」。

同樣地,部分使用者名稱上的萬用字元搜尋可能會讓萬用字元出現在屬性的文字字串 UsernameToMatch 中的任何一點。 例如,若要尋找開頭為 「John」 的所有使用者名稱, UsernameToMatch 參數看起來會像 「John%」。

下列查詢準則約束適用:

  • 如果只 scope 提供 ,而且 querynull 或 傳回 null 預設值的所有 query 屬性,則會傳回符合指定 scope 參數的所有記錄。

  • PathToMatch如果 屬性不是 null ,則傳回的記錄也會根據符合 PathToMatch 屬性值的路徑進行篩選。

  • UsernameToMatch如果 屬性不是 null ,則傳回的記錄也會根據符合 UsernameToMatch 屬性值的使用者名稱進行篩選。

  • UserInactiveSinceDate如果 屬性不等於 MaxValue ,則會篩選傳回的記錄,只傳回與非使用中使用者相關聯的記錄。 比較包含屬性小於或等於 屬性的 UserInactiveSinceDate 記錄 LastActivityDate

請注意,此方法不會驗證查詢參數的組合。 例如,程式碼可以要求一組與共享範圍中特定使用者名稱相關聯的個人化狀態記錄。 因為使用者名稱與共享資訊沒有關聯,所以傳回的集合會是空的。

可能傳回非空白集合的參數組合包括:

適用於