SqlMembershipProvider.FindUsersByEmail(String, Int32, Int32, Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne une collection d’utilisateurs d’appartenance pour lesquels le champ adresse e-mail contient l’adresse e-mail spécifiée.
public:
override System::Web::Security::MembershipUserCollection ^ FindUsersByEmail(System::String ^ emailToMatch, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public override System.Web.Security.MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords);
override this.FindUsersByEmail : string * int * int * int -> System.Web.Security.MembershipUserCollection
Public Overrides Function FindUsersByEmail (emailToMatch As String, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As MembershipUserCollection
Paramètres
- emailToMatch
- String
Adresse e-mail à rechercher.
- pageIndex
- Int32
Index de la page des résultats à retourner.
pageIndex est basé sur zéro.
- pageSize
- Int32
Taille de la page des résultats à retourner.
- totalRecords
- Int32
Nombre total d’utilisateurs correspondants.
Retours
Qui MembershipUserCollection contient une page d’objets pageSizeMembershipUser commençant à la page spécifiée par pageIndex.
Exceptions
emailToMatch est supérieur à 256 caractères.
- ou -
pageIndex est inférieur à zéro.
- ou -
pageSize est inférieur à un.
- ou -
pageIndex multiplié par pageSize plus pageSize moins un dépasse Int32.MaxValue.
Exemples
L’exemple de code suivant utilise la FindUsersByEmail méthode pour récupérer les informations utilisateur d’appartenance et affiche les résultats dans les pages de données.
Note
Cet exemple utilise la Membership classe pour appeler le SqlMembershipProvider fichier spécifié en tant que defaultProvider fichier Web.config. Si vous devez accéder au fournisseur par défaut en tant que type SqlMembershipProvider, vous pouvez caster la Provider propriété de la Membership classe. Pour accéder à d’autres fournisseurs configurés en tant que type de fournisseur spécifique, vous pouvez y accéder par leur nom configuré avec la Providers propriété de la Membership classe et les convertir en tant que type de fournisseur spécifique.
<%@ 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.FindUsersByEmail(EmailTextBox.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 by Email</title>
</head>
<body>
<form id="form1" runat="server">
<h3>User List</h3>
Email address to Search for:
<asp:TextBox id="EmailTextBox" 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.FindUsersByEmail(EmailTextBox.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 by Email</title>
</head>
<body>
<form id="form1" runat="server">
<h3>User List</h3>
Email address to Search for:
<asp:TextBox id="EmailTextBox" 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>
Remarques
FindUsersByEmail retourne une liste d’utilisateurs d’appartenance dans laquelle l’adresse e-mail contient une correspondance avec la correspondance fournie emailToMatch pour le fichier configuré ApplicationName.
Recherche SqlMembershipProvider un nom d’utilisateur qui correspond à la valeur du emailToMatch paramètre, à l’aide de la clause LIKE. Les caractères génériques SQL Server peuvent être inclus dans la valeur du paramètre. Par exemple, si le emailToMatch paramètre est défini sur «address@example.com », les informations pour les utilisateurs avec l’adresse e-mail «address@example.com » sont retournées, le cas échéant. Si le emailToMatch paramètre est défini sur «%@example.com », les informations des utilisateurs avec l’adresse e-mail « »,address@example.com «address2@example.com », «admin@example.com », « », et ainsi de suite sont retournées.
Les résultats retournés par FindUsersByEmail sont limités par les paramètres et pageSize les pageIndex paramètres. Le pageSize paramètre identifie le nombre maximal d’objets MembershipUser à retourner dans le MembershipUserCollection. Le pageIndex paramètre identifie la page des résultats à retourner, où zéro identifie la première page. Le totalRecords paramètre est un out paramètre défini sur le nombre total d’utilisateurs d’appartenance pour le paramètre configuré applicationName. Par exemple, s’il existe 13 utilisateurs pour la configuration applicationNameet que la pageIndex valeur était 1 avec un pageSize nombre de 5, le MembershipUserCollection retour contiendrait le sixième au dixième utilisateur retourné. Le totalRecords paramètre est défini sur 13.
Les espaces de début et de fin sont supprimés de la valeur du emailToMatch paramètre.