PersonalizationAdministration.FindUserState 方法

定义

基于指定参数返回每用户个性化设置状态的信息集合。

重载

FindUserState(String, String)

基于用户名和页面路径返回每用户个性化设置状态的信息集合。

FindUserState(String, String, Int32, Int32, Int32)

基于指定参数返回每用户个性化设置状态的信息集合。

FindUserState(String, String)

基于用户名和页面路径返回每用户个性化设置状态的信息集合。

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

参数

pathToMatch
String

要匹配的页面的路径。

usernameToMatch
String

要匹配的用户名,该用户名含有与相应页面关联的个性化设置数据。

返回

包含每名用户个性化状态信息的 PersonalizationStateInfoCollection

例外

pathToMatchusernameToMatch 在修整前或修整后是空字符串 ("")。

- 或 -

配置中定义的个性化设置提供程序的提供程序类型不正确。

- 或 -

任何参数的字符串长度超过 256 个字符。

尝试创建和初始化已配置的个性化设置提供程序的一个实例时出现配置异常。

- 或 -

找不到配置中定义的默认个性化设置提供程序。

示例

下面的代码示例演示如何使用 FindUserState 方法。 可以在类概述主题中找到 PersonalizationAdministration 完整的示例。

重要

此示例具有一个接受用户输入的文本框,这是一个潜在的安全威胁。 默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 HTML 元素。 有关详细信息,请参阅脚本侵入概述

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

}

注解

此方法返回实例的 UserPersonalizationStateInfo 集合, pathToMatch 其中参数值与页面的路径匹配,并与 usernameToMatch 具有与该页面关联的个性化数据的用户名匹配。 集合仅 UserPersonalizationStateInfo 包含 实例。

此方法将参数通配符传递给基础个性化设置提供程序,因此数据存储如何处理这些字符取决于提供程序如何处理诸如星号 (*) 、百分比符号 (%) 或下划线 (_) 等字符。

通常,对于符合 SQL 的数据存储,可以对部分路径执行通配符搜索,其中通配符出现在 属性中 PathToMatch 搜索字符串文本的开头、结尾或中间。 例如,若要查找以“~/vdir”开头的所有路径,属性 PathToMatch 将设置为“~/vdir%”。

同样,对部分用户名的通配符搜索可以在属性的文本字符串 UsernameToMatch 中的任何点显示通配符。 例如,若要查找以“John”开头的所有用户名,属性 UsernameToMatch 将类似于“John%”。

使用默认个性化设置提供程序时, PersonalizationStateInfo将按字母顺序返回派生的对象,并按路径和用户名的组合按升序排序。 集合中对象的排序由提供程序确定。

pathToMatchusernameToMatch 都可以是 null。 参数usernameToMatch可以有逗号 (,) ,因为某些数据存储(如运行 Microsoft SQL Server 的数据存储)允许逗号作为通配符。

另请参阅

适用于

FindUserState(String, String, Int32, Int32, Int32)

基于指定参数返回每用户个性化设置状态的信息集合。

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

参数

pathToMatch
String

要匹配的页面的路径。

usernameToMatch
String

要匹配的用户名,该用户名含有与相应页面关联的个性化设置数据。

pageIndex
Int32

要返回的结果页的索引(从零开始)。

pageSize
Int32

要返回的记录数。

totalRecords
Int32

可用记录的总数。

返回

包含每名用户个性化状态信息的 PersonalizationStateInfoCollection

例外

pathToMatchusernameToMatch 在修整前或修整后是空字符串 ("")。

- 或 -

pageIndex 小于零。

pageSize 小于或等于零。

- 或 -

pageSize 的组合pageIndex超过了 Int32.MaxValue

- 或 -

配置中定义的个性化设置提供程序的提供程序类型不正确。

- 或 -

任何参数的字符串长度超过 256 个字符。

尝试创建和初始化已配置的个性化设置提供程序的一个实例时出现配置异常。

- 或 -

找不到配置中定义的默认个性化设置提供程序。

示例

下面的代码示例演示如何使用 FindUserState 方法。 可以在类概述主题中找到 PersonalizationAdministration 完整的示例。

重要

此示例具有一个接受用户输入的文本框,这是一个潜在的安全威胁。 默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 HTML 元素。 有关详细信息,请参阅脚本侵入概述

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

}

注解

此方法返回实例的 UserPersonalizationStateInfo 集合, pathToMatch 其中参数值与页面的路径匹配,并与 usernameToMatch 具有与该页面关联的个性化数据的用户名匹配。 集合仅 UserPersonalizationStateInfo 包含 实例。

此方法将参数通配符传递给基础个性化设置提供程序,因此数据存储如何处理这些字符取决于提供程序如何处理字符作为星号 (*) 、百分比符号 (%) 或下划线 (_) 。

通常,对于符合 SQL 的数据存储,可以对部分路径执行通配符搜索,其中通配符出现在 属性中 PathToMatch 搜索字符串文本的开头、结尾或中间。 例如,若要查找以“~/vdir”开头的所有路径,属性 PathToMatch 将设置为“~/vdir%”。

同样,对部分用户名的通配符搜索可以在属性的文本字符串 UsernameToMatch 中的任何点显示通配符。 例如,若要查找以“John”开头的所有用户名,属性 UsernameToMatch 将类似于“John%”。

使用默认个性化设置提供程序时, PersonalizationStateInfo将按字母顺序返回派生的对象,并按路径和用户名的组合按升序排序。 集合中对象的顺序由提供程序确定。

pathToMatchusernameToMatch 都可以是 null。 参数usernameToMatch可以有逗号 (,) ,因为某些数据存储(如运行 Microsoft SQL Server 的数据存储)允许逗号作为通配符。

返回的数据受 pageIndexpageSize的约束,其中 pageIndex 控制要返回的记录和控制 pageSize 要返回的记录数。 例如,如果 pageIndex 设置为 0 且 pageSize 设置为 25,则返回的数据将是前 25 个条目。 如果 pageIndex 设置为 1 且 pageSize 设置为 25,则返回的数据将是条目 26 到 50。 参数 totalRecords 返回可用记录的总数。

另请参阅

适用于