Membership.FindUsersByName Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá kolekci uživatelů členství, kde uživatelské jméno obsahuje zadané uživatelské jméno, které se má shodovat.
Přetížení
FindUsersByName(String) |
Získá kolekci uživatelů členství, kde uživatelské jméno obsahuje zadané uživatelské jméno, které se má shodovat. |
FindUsersByName(String, Int32, Int32, Int32) |
Získá kolekci uživatelů členství na stránce dat, kde uživatelské jméno obsahuje zadané uživatelské jméno, které se má shodovat. |
FindUsersByName(String)
Získá kolekci uživatelů členství, kde uživatelské jméno obsahuje zadané uživatelské jméno, které se má shodovat.
public:
static System::Web::Security::MembershipUserCollection ^ FindUsersByName(System::String ^ usernameToMatch);
public static System.Web.Security.MembershipUserCollection FindUsersByName (string usernameToMatch);
static member FindUsersByName : string -> System.Web.Security.MembershipUserCollection
Public Shared Function FindUsersByName (usernameToMatch As String) As MembershipUserCollection
Parametry
- usernameToMatch
- String
Uživatelské jméno, které chcete vyhledat.
Návraty
A MembershipUserCollection , který obsahuje všechny uživatele, kteří odpovídají parametru usernameToMatch
.
Počáteční a koncové mezery se oříznou z hodnoty parametru usernameToMatch
.
Výjimky
usernameToMatch
je prázdný řetězec.
usernameToMatch
je null
.
Příklady
Následující příklad kódu používá metodu FindUsersByName k načtení informací o členství uživatele z databáze členství na základě vstupu uživatele a zobrazí výsledky na stránkách dat.
Důležité
Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že uživatelský vstup neobsahuje skript nebo elementy HTML. Další informace najdete v tématu Přehled zneužití skriptů.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void GoButton_OnClick(object sender, EventArgs args)
{
UserGrid.DataSource = Membership.FindUsersByName(UsernameTextBox.Text);
UserGrid.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Users</title>
</head>
<body>
<form id="form1" runat="server">
<h3>User List</h3>
Username to Search for:
<asp:TextBox id="UsernameTextBox" runat="server" />
<asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><br />
<asp:DataGrid id="UserGrid" runat="server"
CellPadding="2" CellSpacing="1"
Gridlines="Both">
<HeaderStyle BackColor="darkblue" ForeColor="white" />
</asp:DataGrid>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub GoButton_OnClick(sender As Object, args As EventArgs)
UserGrid.DataSource = Membership.FindUsersByName(UsernameTextBox.Text)
UserGrid.DataBind()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Users</title>
</head>
<body>
<form id="form1" runat="server">
<h3>User List</h3>
Username to Search for:
<asp:TextBox id="UsernameTextBox" runat="server" />
<asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><br />
<asp:DataGrid id="UserGrid" runat="server"
CellPadding="2" CellSpacing="1"
Gridlines="Both">
<HeaderStyle BackColor="darkblue" ForeColor="white" />
</asp:DataGrid>
</form>
</body>
</html>
Poznámky
FindUsersByName vrátí seznam uživatelů členství, kde uživatelské jméno odpovídá zadanému usernameToMatch
pro konfigurovaný applicationName
.
Nástroj SqlMembershipProvider provede vyhledávání pomocí klauzule LIKE proti parametru usernameToMatch
. V hodnotě usernameToMatch
parametru se dají použít všechny zástupné znakůé, které SQL Server podporuje v klauzulích LIKE.
Počáteční a koncové mezery jsou oříznuté ze všech hodnot parametrů.
Viz také
Platí pro
FindUsersByName(String, Int32, Int32, Int32)
Získá kolekci uživatelů členství na stránce dat, kde uživatelské jméno obsahuje zadané uživatelské jméno, které se má shodovat.
public:
static System::Web::Security::MembershipUserCollection ^ FindUsersByName(System::String ^ usernameToMatch, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public static System.Web.Security.MembershipUserCollection FindUsersByName (string usernameToMatch, int pageIndex, int pageSize, out int totalRecords);
static member FindUsersByName : string * int * int * int -> System.Web.Security.MembershipUserCollection
Public Shared Function FindUsersByName (usernameToMatch As String, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As MembershipUserCollection
Parametry
- usernameToMatch
- String
Uživatelské jméno, které chcete vyhledat.
- pageIndex
- Int32
Index stránky výsledků, které se mají vrátit.
pageIndex
je založen na nule.
- pageSize
- Int32
Velikost stránky výsledků, které se mají vrátit.
- totalRecords
- Int32
Celkový počet odpovídajících uživatelů.
Návraty
A MembershipUserCollection , která obsahuje stránku pageSize
MembershipUser objektů začínající na stránce určené pomocí pageIndex
.
Počáteční a koncové mezery se oříznou z hodnoty parametru usernameToMatch
.
Výjimky
usernameToMatch
je prázdný řetězec.
-nebo-
Hodnota pageIndex
je menší než nula.
-nebo-
pageSize
je menší než 1.
usernameToMatch
je null
.
Příklady
Následující příklad kódu používá metodu FindUsersByName k načtení informací o členství uživatele z databáze členství na základě vstupu uživatele a zobrazí výsledky na stránkách dat.
Důležité
Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že uživatelský vstup neobsahuje skript nebo elementy HTML. Další informace najdete v tématu Přehled zneužití skriptů.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
int pageSize = 5;
int totalUsers;
int totalPages;
int currentPage = 1;
private void GetUsers()
{
UserGrid.DataSource = Membership.FindUsersByName(UsernameTextBox.Text,
currentPage - 1, pageSize, out totalUsers);
totalPages = ((totalUsers - 1) / pageSize) + 1;
// Ensure that we do not navigate past the last page of users.
if (currentPage > totalPages)
{
currentPage = totalPages;
GetUsers();
return;
}
UserGrid.DataBind();
CurrentPageLabel.Text = currentPage.ToString();
TotalPagesLabel.Text = totalPages.ToString();
if (currentPage == totalPages)
NextButton.Visible = false;
else
NextButton.Visible = true;
if (currentPage == 1)
PreviousButton.Visible = false;
else
PreviousButton.Visible = true;
if (totalUsers <= 0)
NavigationPanel.Visible = false;
else
NavigationPanel.Visible = true;
}
public void NextButton_OnClick(object sender, EventArgs args)
{
currentPage = Convert.ToInt32(CurrentPageLabel.Text);
currentPage++;
GetUsers();
}
public void PreviousButton_OnClick(object sender, EventArgs args)
{
currentPage = Convert.ToInt32(CurrentPageLabel.Text);
currentPage--;
GetUsers();
}
public void GoButton_OnClick(object sender, EventArgs args)
{
currentPage = 1;
GetUsers();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Users</title>
</head>
<body>
<form id="form1" runat="server">
<h3>User List</h3>
Username to Search for:
<asp:TextBox id="UsernameTextBox" runat="server" />
<asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><br />
<asp:Panel id="NavigationPanel" Visible="false" runat="server">
<table border="0" cellpadding="3" cellspacing="3">
<tr>
<td style="width:100">Page <asp:Label id="CurrentPageLabel" runat="server" />
of <asp:Label id="TotalPagesLabel" runat="server" /></td>
<td style="width:60"><asp:LinkButton id="PreviousButton" Text="< Prev"
OnClick="PreviousButton_OnClick" runat="server" /></td>
<td style="width:60"><asp:LinkButton id="NextButton" Text="Next >"
OnClick="NextButton_OnClick" runat="server" /></td>
</tr>
</table>
</asp:Panel>
<asp:DataGrid id="UserGrid" runat="server"
CellPadding="2" CellSpacing="1"
Gridlines="Both">
<HeaderStyle BackColor="darkblue" ForeColor="white" />
</asp:DataGrid>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Dim pageSize As Integer = 5
Dim totalUsers As Integer
Dim totalPages As Integer
Dim currentPage As Integer = 1
Private Sub GetUsers()
UserGrid.DataSource = Membership.FindUsersByName(UsernameTextBox.Text, _
currentPage - 1, pageSize, totalUsers)
totalPages = ((totalUsers - 1) \ pageSize) + 1
' Ensure that we do not navigate past the last page of users.
If currentPage > totalPages Then
currentPage = totalPages
GetUsers()
Return
End If
UserGrid.DataBind()
CurrentPageLabel.Text = currentPage.ToString()
TotalPagesLabel.Text = totalPages.ToString()
If currentPage = totalPages Then
NextButton.Visible = False
Else
NextButton.Visible = True
End If
If currentPage = 1 Then
PreviousButton.Visible = False
Else
PreviousButton.Visible = True
End If
If totalUsers <= 0 Then
NavigationPanel.Visible = False
Else
NavigationPanel.Visible = True
End If
End Sub
Public Sub NextButton_OnClick(sender As Object, args As EventArgs)
currentPage = Convert.ToInt32(CurrentPageLabel.Text)
currentPage += 1
GetUsers()
End Sub
Public Sub PreviousButton_OnClick(sender As Object, args As EventArgs)
currentPage = Convert.ToInt32(CurrentPageLabel.Text)
currentPage -= 1
GetUsers()
End Sub
Public Sub GoButton_OnClick(sender As Object, args As EventArgs)
currentPage = 1
GetUsers()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Users</title>
</head>
<body>
<form id="form1" runat="server">
<h3>User List</h3>
Username to Search for:
<asp:TextBox id="UsernameTextBox" runat="server" />
<asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><br />
<asp:Panel id="NavigationPanel" Visible="False" runat="server">
<table border="0" cellpadding="3" cellspacing="3">
<tr>
<td style="width:100">Page <asp:Label id="CurrentPageLabel" runat="server" />
of <asp:Label id="TotalPagesLabel" runat="server" /></td>
<td style="width:60"><asp:LinkButton id="PreviousButton" Text="< Prev"
OnClick="PreviousButton_OnClick" runat="server" /></td>
<td style="width:60"><asp:LinkButton id="NextButton" Text="Next >"
OnClick="NextButton_OnClick" runat="server" /></td>
</tr>
</table>
</asp:Panel>
<asp:DataGrid id="UserGrid" runat="server"
CellPadding="2" CellSpacing="1"
Gridlines="Both">
<HeaderStyle BackColor="darkblue" ForeColor="white" />
</asp:DataGrid>
</form>
</body>
</html>
Poznámky
FindUsersByName vrátí seznam uživatelů členství, kde uživatelské jméno odpovídá zadanému usernameToMatch
pro konfigurovaný applicationName
.
Nástroj SqlMembershipProvider provede vyhledávání pomocí klauzule LIKE proti parametru usernameToMatch
. V hodnotě usernameToMatch
parametru se dají použít všechny zástupné znakůé, které SQL Server podporuje v klauzulích LIKE.
Výsledky vrácené nástrojem FindUsersByName jsou omezeny pageIndex
parametry a pageSize
. Parametr pageSize
identifikuje maximální počet MembershipUser objektů, které se mají vrátit v objektu MembershipUserCollection. Parametr pageIndex
určuje, kterou stránku výsledků se má vrátit, kde hodnota 0 identifikuje první stránku. Parametr totalRecords
je out
parametr, který je nastaven na celkový počet uživatelů členství, kteří odpovídají hodnotě usernameToMatch
. Pokud by například bylo nalezeno usernameToMatch
13 uživatelů s odpovídající částí nebo celým uživatelským jménem a pageIndex
hodnota byla 1 s pageSize
hodnotou 5, MembershipUserCollection vrácená hodnota by obsahovala šestý až desátý vrácený uživatel.
totalRecords
by byla nastavena na hodnotu 13.