PersonalizationAdministration.FindUserState 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳根據指定參數的每位使用者個人化狀態資訊集合。
多載
| 名稱 | 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 回傳可用紀錄的總數。