次の方法で共有


SqlPersonalizationProvider.FindState メソッド

定義

指定したスコープおよびパラメーターに基づいて、0 個以上の 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

レコード数の合計。

戻り値

0 個以上の PersonalizationStateInfoCollection 派生オブジェクトを含んでいる PersonalizationStateInfo

例外

pageIndex が 0 未満です。

または

pageSize が 0 以下です。

- または -

pageSizepageIndex組み合わせにより、Int32.MaxValue より大きい値になります。

- または -

トリム後の PathToMatch が、null 以外の空の文字列 ("") です。

- または -

値が null 以外の場合、PathToMatch の長さが 256 文字を超えています。

- または -

トリム後の UsernameToMatch が、null 以外の空の文字列です。

- または -

値が null 以外の場合、UsernameToMatch の長さが 256 文字を超えています。

指定された scope が、無効な PersonalizationScope 列挙値です。

注釈

返される項目のセットは、 パラメーターと pageIndex パラメーターによってpageSize制限されます。ここでpageSize、返されるレコードの数を制御し、pageIndex返すレコードを制御します。 たとえば、a pageIndex が 0、a pageSize が 25 の場合、最初の 25 回の出現回数が返され、a pageIndex が 1、a pageSize が 25 の場合は 26 から 50 が返されます。 使用可能なすべてのレコードをフェッチする場合は、0、および pageSize に設定pageIndexしますMaxValue

派生オブジェクトはPersonalizationStateInfo、 と Usernameで並べ替えられたアルファベット順で返されPath、両方とも昇順で返されます。

このメソッドは、基になるデータ ストアにクエリ ワイルドカード文字を渡します。 ワイルドカード文字のサポートは現在、各プロバイダーがアスタリスク (*)、パーセント記号 (%)、アンダースコア (_) などの文字を処理する方法によって異なります。

通常、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 含まれます。

このメソッドは、クエリ パラメーターの組み合わせを検証しないことに注意してください。 たとえば、コードは、共有スコープ内の特定のユーザー名に関連付けられている一連のパーソナル化状態レコードを要求できます。 ユーザー名は共有情報に関連付けられていないため、返されるコレクションは空になります。

空でないコレクションを返す可能性があるパラメーターの組み合わせは次のとおりです。

適用対象