PersonalizationAdministration.FindUserState Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns a collection of per-user personalization state information based on the specified parameters.
Overloads
FindUserState(String, String) |
Returns a collection of per-user personalization state information based on the user name and page path. |
FindUserState(String, String, Int32, Int32, Int32) |
Returns a collection of per-user personalization state information based on the specified parameters. |
FindUserState(String, String)
Returns a collection of per-user personalization state information based on the user name and page path.
public:
static System::Web::UI::WebControls::WebParts::PersonalizationStateInfoCollection ^ FindUserState(System::String ^ pathToMatch, System::String ^ usernameToMatch);
public static System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection FindUserState (string pathToMatch, string usernameToMatch);
static member FindUserState : string * string -> System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection
Public Shared Function FindUserState (pathToMatch As String, usernameToMatch As String) As PersonalizationStateInfoCollection
Parameters
- pathToMatch
- String
The path of the page to match.
- usernameToMatch
- String
The user name to match that has personalization data associated with the page.
Returns
A PersonalizationStateInfoCollection that contains per-user personalization state information.
Exceptions
pathToMatch
or usernameToMatch
before or after trimming is an empty string ("").
-or-
The provider for a personalization provider defined in configuration is not of the correct type.
-or-
The length of the string of any parameter is greater than 256 characters.
A configuration exception occurred while attempting to create and initialize an instance of one of the configured personalization providers.
-or-
The default personalization provider defined in configuration could not be found.
Examples
The following code example demonstrates how to use the FindUserState method. The complete example can be found in the PersonalizationAdministration class overview topic.
Important
This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox3.Text != null)
{
PersonalizationStateInfoCollection findresult;
findresult = PersonalizationAdministration.FindUserState(null, TextBox3.Text);
if (findresult.Count != 0)
{
Label4.Text = findresult.Count + " user(s) found";
Label4.Visible = true;
}
else
{
Label4.Text = "No users found.";
Label4.Visible = true;
}
}
else
{
Label4.Text = "You must enter a user name to find.";
}
}
Remarks
This method returns a collection of UserPersonalizationStateInfo instances where the pathToMatch
parameter value matches the path of a page, and usernameToMatch
matches a user name that has personalization data associated with that page. The collection contains only UserPersonalizationStateInfo instances.
This method passes parameter wildcard characters to the underlying personalization provider, so how the data store handles these characters depends on how the 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 property would look like "John%".
Using the default personalization provider, the PersonalizationStateInfo-derived objects are returned in alphabetical order, and sorted by a combination of path and user name in ascending order. The ordering of the objects in the collection is determined by the provider.
Both pathToMatch
and usernameToMatch
can be null
. The usernameToMatch
parameter can have commas (,) because some data stores, such as those running Microsoft SQL Server, allow commas as wildcard characters.
See also
- WebPartPersonalization
- ASP.NET Web Parts Controls
- Web Parts Personalization Overview
- Walkthrough: Implementing Web Parts Personalization with a User Control
- Web Parts Personalization
Applies to
FindUserState(String, String, Int32, Int32, Int32)
Returns a collection of per-user personalization state information based on the specified parameters.
public:
static System::Web::UI::WebControls::WebParts::PersonalizationStateInfoCollection ^ FindUserState(System::String ^ pathToMatch, System::String ^ usernameToMatch, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public static System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection FindUserState (string pathToMatch, string usernameToMatch, int pageIndex, int pageSize, out int totalRecords);
static member FindUserState : string * string * int * int * int -> System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection
Public Shared Function FindUserState (pathToMatch As String, usernameToMatch As String, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As PersonalizationStateInfoCollection
Parameters
- pathToMatch
- String
The path of the page to match.
- usernameToMatch
- String
The user name to match that has personalization data associated with the page.
- pageIndex
- Int32
The zero-based index of the page of results to return.
- pageSize
- Int32
The number of records to return.
- totalRecords
- Int32
The total number or records available.
Returns
A PersonalizationStateInfoCollection that contains per-user personalization state information.
Exceptions
pathToMatch
or usernameToMatch
before or after trimming is an empty string ("").
-or-
pageIndex
is less than zero.
-or-
pageSize
is less than or equal to zero.
-or-
The combination of pageIndex
and pageSize
exceeds Int32.MaxValue.
-or-
The provider for a personalization provider defined in configuration is not of the correct type.
-or-
The length of the string of any parameter is greater than 256 characters.
A configuration exception occurred while attempting to create and initialize an instance of one of the configured personalization providers.
-or-
The default personalization provider defined in configuration could not be found.
Examples
The following code example demonstrates how to use the FindUserState method. The complete example can be found in the PersonalizationAdministration class overview topic.
Important
This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox3.Text != null)
{
PersonalizationStateInfoCollection findresult;
findresult = PersonalizationAdministration.FindUserState(null, TextBox3.Text);
if (findresult.Count != 0)
{
Label4.Text = findresult.Count + " user(s) found";
Label4.Visible = true;
}
else
{
Label4.Text = "No users found.";
Label4.Visible = true;
}
}
else
{
Label4.Text = "You must enter a user name to find.";
}
}
Remarks
This method returns a collection of UserPersonalizationStateInfo instances where the pathToMatch
parameter value matches the path of a page and usernameToMatch
matches a user name that has personalization data associated with that page. The collection contains only UserPersonalizationStateInfo instances.
This method passes parameter wildcard characters to the underlying personalization provider, so how the data store handles these characters depends on how the provider handles characters 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 property would look like "John%".
Using the default personalization provider, the PersonalizationStateInfo-derived objects are returned in alphabetical order, and sorted by a combination of path and user name in ascending order. The order of the objects in the collection is determined by the provider.
Both pathToMatch
and usernameToMatch
can be null
. The usernameToMatch
parameter can have commas (,) because some data stores, such as those running Microsoft SQL Server, allow commas as wildcard characters.
The data returned is constrained by pageIndex
and pageSize
, where pageIndex
controls which records to return and pageSize
controls the number of records to return. For example, if pageIndex
was set to 0 and pageSize
was set to 25, the data returned would be the first 25 entries. If pageIndex
was set to 1 and pageSize
was set to 25, the data returned would be entries 26 to 50. The totalRecords
parameter returns the total number of records that are available.
See also
- WebPartPersonalization
- ASP.NET Web Parts Controls
- Web Parts Personalization Overview
- Walkthrough: Implementing Web Parts Personalization with a User Control
- Web Parts Personalization