SqlPersonalizationProvider.FindState 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳包含零個或多個 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
A PersonalizationScope 表示要查詢的個人化資訊。 這個值不能是 null。
A PersonalizationStateQuery 包含查詢。 這個值可以是 null。
- pageIndex
- Int32
查詢開始的地點。
- pageSize
- Int32
要傳回的記錄數目。
- totalRecords
- Int32
可用紀錄總數。
傳回
PersonalizationStateInfoCollection A 包含零個或多個 PersonalizationStateInfo-導出物件。
例外狀況
pageIndex 小於零。
-或-
pageSize 小於或等於零。
-或-
與 的pageIndexpageSize組合會得到大於 Int32.MaxValue 的值。
-或-
PathToMatch 是非-null ,且修剪後為空字串(“”)。
-或-
當 值為非時null,的PathToMatch長度大於 256 個字元。
-或-
UsernameToMatch 是非 ,null 且在修剪後為空字串。
-或-
當 值為非時null,的UsernameToMatch長度大於 256 個字元。
scope指定的值並非列舉中的PersonalizationScope有效值。
備註
返回項目集合受限 pageSize 於 和 pageIndex 參數,其中 pageSize 控制要回傳的記錄數量,並 pageIndex 控制要回傳哪些記錄。 例如,A pageIndex 為 0,a pageSize 為 25 會回傳前 25 次,而 a pageIndex 為 1、 pageSize a 為 25 則會回傳第 26 至 50 次。 如果你想取得所有可用紀錄,請設 pageIndex 為 0,且 pageSize 設為 MaxValue。
PersonalizationStateInfo衍生物件按字母順序返回,排序為 Path 和 Username,兩者皆依升序排列。
此方法將查詢萬用字元傳遞至底層資料儲存。 目前對萬用字元的支援取決於各提供者如何處理字元,例如星號(*)、百分比符號(%)或底線(_)。
通常,對於符合 SQL 的資料庫,你可以對部分路徑執行萬用字元搜尋,通配字元會出現在屬性中 PathToMatch 搜尋字串文字的開頭、結尾或中間。 例如,要找到所有以「~/approot」開頭的路徑, PathToMatch 屬性會設定為「~/approot%」。
同樣地,對部分使用者名稱進行萬用字元搜尋,該通配字元可能出現在屬性文字 UsernameToMatch 串的任何位置。 例如,要找到所有以「John」開頭的使用者名稱, UsernameToMatch 參數會看起來像是「John%」。
適用以下查詢限制:
若僅
scope提供 ,且query是null或所有屬性 返回query或null預設值,則所有符合指定scope參數的記錄都會回傳。若 PathToMatch 屬性不
null符合,回傳紀錄也會根據與屬性值相符 PathToMatch 的路徑進行過濾。若 UsernameToMatch 屬性不
null符,回傳紀錄也會根據與屬性值相符 UsernameToMatch 的使用者名稱進行篩選。若屬性 UserInactiveSinceDate 不等於 MaxValue,則回傳的記錄也會被篩選,只回傳與非活躍使用者相關的記錄。 比較中包括該 LastActivityDate 財產大小不等於該 UserInactiveSinceDate 財產的紀錄。
請注意,此方法無法驗證查詢參數的組合。 例如,程式碼可以請求一組與共享範圍內特定使用者名稱相關的個人化狀態記錄。 由於使用者名稱與共享資訊無關聯,回傳的集合會是空的。
有可能回傳非空集合的參數組合包括:
Shared 與 結合 PathToMatch的範疇。
User 作用域與任一或全部 PathToMatch、 UsernameToMatch及 UserInactiveSinceDate 屬性的值結合。