PersonalizationProvider::FindState Method
When overridden in a derived class, returns a collection containing zero or more PersonalizationStateInfo-derived objects based on scope and specific query parameters.
Assembly: System.Web (in System.Web.dll)
public: virtual PersonalizationStateInfoCollection^ FindState( PersonalizationScope scope, PersonalizationStateQuery^ query, int pageIndex, int pageSize, [OutAttribute] int% totalRecords ) abstract
Parameters
- scope
- Type: System.Web.UI.WebControls.WebParts::PersonalizationScope
A PersonalizationScope with the personalization information to be queried. This value cannot be nullptr.
- query
- Type: System.Web.UI.WebControls.WebParts::PersonalizationStateQuery
A PersonalizationStateQuery containing a query. This value can be nullptr.
- pageIndex
- Type: System::Int32
The location where the query starts.
- pageSize
- Type: System::Int32
The number of records to return.
- totalRecords
- Type: System::Int32%
The total number of records available.
Return Value
Type: System.Web.UI.WebControls.WebParts::PersonalizationStateInfoCollectionA PersonalizationStateInfoCollection containing zero or more PersonalizationStateInfo-derived objects.
This method is the abstract definition of an administrative method for querying personalization data. Derived implementations should follow the logic described below.
The set of returned items is constrained by the pageIndex and pageSize parameters, where pageSize sets the number of records to return and pageIndex sets which records to return. For example, a pageIndex of 0 and a pageSize of 25 would return the first 25 occurrences, while a pageIndex of 1 and a pageSize of 25 would return occurrences 26-50. If you want to retrieve all available records, set pageIndex to 0 and pageSize to MaxValue.
The PersonalizationStateInfo-derived objects are returned in alphabetical order and sorted by a combination of their Path and Username property values, both in ascending order.
This method passes query wildcard characters to the underlying data store. Support for wildcard characters is currently dependent on how each provider handles characters such as an asterisk (*), a percent symbol (%), or an underscore (_).
Normally, for SQL-compliant data stores, you can perform a wildcard search on a partial path with the wildcard character appearing at the beginning, the end, or the middle of the search string text in the PathToMatch property. For example, to find all paths that start with "~/vdir", the PathToMatch property would be set to "~/vdir%".
Likewise, a wildcard search on a partial user name could have the wildcard character appear at any point in the text string of the UsernameToMatch property. For example, to find all user names that start with "John", the UsernameToMatch parameter would look like "John%".
The following query constraints apply:
If only scope is provided, and query is nullptr or all the properties on query return either nullptr or default values, then all records matching the indicated scope parameter are returned.
If the PathToMatch property is not nullptr, the returned records are also filtered based on paths that match the PathToMatch value.
If the UsernameToMatch property is not nullptr, the returned records are also filtered based on user names that match the UsernameToMatch property value.
If the UserInactiveSinceDate property is not equal to MaxValue, then the returned records are also filtered to return only those records associated with inactive users. The comparison includes records where the LastActivityDate property is less than or equal to the UserInactiveSinceDate property.
Note that this method does not validate combinations of query parameters. For example, code can request a set of personalization state records associated with a specific user name in the shared scope. Because user names are not associated with shared information, the returned collection would be empty.
Parameter combinations that have the potential to return a non-empty collection include:
Shared scope in combination with the PathToMatch property.
User scope in combination with the values for any or all of the PathToMatch, UsernameToMatch, and UserInactiveSinceDate properties.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.