語言

PersonalizationAdministration.FindUserState 方法

定義

回傳根據指定參數的每位使用者個人化狀態資訊集合。

多載

名稱 Description
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

使用者名稱要匹配,且頁面上有個人化資料。

傳回

包含每位使用者個人化狀態資訊的 A PersonalizationStateInfoCollection 。

例外狀況

pathToMatch 或 usernameToMatch 在修剪前後,則是空字串(“”)。

-或-

設定中定義的個人化提供者的提供者類型不正確。

-或-

任何參數的字串長度都大於 256 個字元。

在嘗試建立並初始化其中一個已設定個人化提供者的實例時,發生了設定異常。

-或-

無法找到設定中定義的預設個人化提供者。

範例

以下程式碼範例示範如何使用此 FindUserState 方法。 完整範例可在課程概述主題中找到 PersonalizationAdministration 。

Important

此範例中有一個文字框可接受使用者輸入,這可能構成安全威脅。 預設情況下,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

可用紀錄的總數。

傳回

包含每位使用者個人化狀態資訊的 A PersonalizationStateInfoCollection 。

例外狀況

pathToMatch 或 usernameToMatch 在修剪前後,則是空字串(“”)。

-或-

pageIndex 小於零。

-或-

pageSize 小於或等於零。

-或-

與 pageIndex 的組合pageSize超過 Int32.MaxValue。

-或-

設定中定義的個人化提供者的提供者類型不正確。

-或-

任何參數的字串長度都大於 256 個字元。

在嘗試建立並初始化其中一個已設定個人化提供者的實例時,發生了設定異常。

-或-

無法找到設定中定義的預設個人化提供者。

範例

以下程式碼範例示範如何使用此 FindUserState 方法。 完整範例可在課程概述主題中找到 PersonalizationAdministration 。

Important

此範例中有一個文字框可接受使用者輸入,這可能構成安全威脅。 預設情況下,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,允許逗號作為通行字元。

回傳的資料受限於 pageIndex 和 ,其中pageSize控制要回傳哪些記錄,以及pageIndex回傳pageSize的記錄數量。 例如,若 pageIndex 設為 0,且 pageSize 設為 25,則回傳的資料將是前 25 個條目。 若 pageIndex 設為 1,且 pageSize 設為 25,則回傳的資料將為第 26 至 50 條目。 參數 totalRecords 回傳可用紀錄的總數。

另請參閱

適用於