PersonalizationAdministration.FindUserState Method (String, String, Int32, Int32, Int32)

Note: This method is new in the .NET Framework version 2.0.

Returns a collection of per-user personalization state information based on the specified parameters.

Namespace: System.Web.UI.WebControls.WebParts
Assembly: System.Web (in system.web.dll)

public:
static PersonalizationStateInfoCollection^ FindUserState (
	String^ pathToMatch, 
	String^ usernameToMatch, 
	int pageIndex, 
	int pageSize, 
	[OutAttribute] int% totalRecords
)
public static PersonalizationStateInfoCollection FindUserState (
	String pathToMatch, 
	String usernameToMatch, 
	int pageIndex, 
	int pageSize, 
	/** @attribute OutAttribute() */ /** @ref */ int totalRecords
)
JScript does not support passing value-type arguments by reference.

Parameters

pathToMatch

The path of the page to match.

usernameToMatch

The user name to match that has personalization data associated with the page.

pageIndex

The zero-based index of the page of results to return.

pageSize

The number of records to return.

totalRecords

The total number or records available.

Return Value

A PersonalizationStateInfoCollection that contains per-user personalization state information.

Exception typeCondition

ArgumentException

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 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.

ConfigurationErrorsException

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.

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 a null reference (Nothing in Visual Basic). 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.

The following code example demonstrates how to use the FindUserState method. The complete example can be found in the PersonalizationAdministration class overview topic.

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.";
  }

}

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show: