Membership.FindUsersByEmail Yöntem

Tanım

E-posta adresinin eşleşecek belirtilen e-posta adresini içerdiği üyelik kullanıcılarından oluşan bir koleksiyon alır.

Aşırı Yüklemeler

FindUsersByEmail(String, Int32, Int32, Int32)

Bir veri sayfasında, e-posta adresinin eşleşecek belirtilen e-posta adresini içerdiği üyelik kullanıcıları koleksiyonunu alır.

FindUsersByEmail(String)

E-posta adresinin eşleşecek belirtilen e-posta adresini içerdiği üyelik kullanıcılarından oluşan bir koleksiyon alır.

FindUsersByEmail(String, Int32, Int32, Int32)

Bir veri sayfasında, e-posta adresinin eşleşecek belirtilen e-posta adresini içerdiği üyelik kullanıcıları koleksiyonunu alır.

public:
 static System::Web::Security::MembershipUserCollection ^ FindUsersByEmail(System::String ^ emailToMatch, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public static System.Web.Security.MembershipUserCollection FindUsersByEmail (string emailToMatch, int pageIndex, int pageSize, out int totalRecords);
static member FindUsersByEmail : string * int * int * int -> System.Web.Security.MembershipUserCollection
Public Shared Function FindUsersByEmail (emailToMatch As String, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As MembershipUserCollection

Parametreler

emailToMatch
String

Aranacak e-posta adresi.

pageIndex
Int32

Döndürülecek sonuç sayfasının dizini. pageIndex sıfır tabanlıdır.

pageSize
Int32

Döndürülecek sonuç sayfasının boyutu.

totalRecords
Int32

Eşleşen kullanıcıların toplam sayısı.

Döndürülenler

MembershipUserCollection

MembershipUserCollection tarafından pageIndexbelirtilen sayfadan pageSizeMembershipUser başlayarak bir nesne sayfası içeren bir.

Özel durumlar

pageIndex, sıfırdan küçüktür.

-veya- pageSize 1'den küçüktür.

Örnekler

Aşağıdaki kod örneği, kullanıcı girişini temel alarak üyelik veritabanından üyelik kullanıcı bilgilerini almak için yöntemini kullanır FindUsersByEmail ve sonuçları veri sayfalarında görüntüler.

Önemli

Bu örnek, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu içerir. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz . Betik Açıklarına Genel Bakış.

<%@ 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>

Açıklamalar

FindUsersByEmail, e-posta adresinin yapılandırılan applicationNameiçin sağlanan emailToMatch ile eşleştiği üyelik kullanıcılarının listesini döndürür.

parametresinde SqlMembershipProvider like yan tümcesi emailToMatch kullanarak arama gerçekleştirir. LIKE yan tümcelerinde SQL Server tarafından desteklenen joker karakterler parametre değerinde kullanılabiliremailToMatch.

tarafından FindUsersByEmail döndürülen sonuçlar ve pageSize parametreleriyle pageIndex kısıtlanır. parametresi içinde pageSize döndürülecek MembershipUserCollectionen fazla nesne sayısını MembershipUser tanımlar. pageIndex parametresi döndürülecek sonuç sayfasını tanımlar; burada 0 ilk sayfayı tanımlar. totalRecords parametresi, değerle eşleşen emailToMatch üyelik kullanıcılarının toplam sayısına ayarlanmış bir out parametredir. Örneğin, e-posta adresinin bir bölümüyle veya tamamının eşleştirildiği emailToMatch 13 kullanıcı bulunduysa ve pageIndex değer 1 pageSize ile 5 arasındaysa, MembershipUserCollection döndürülen kullanıcı döndürülen altıncı ile onuncu kullanıcı arasında yer alır. totalRecords 13 olarak ayarlanır.

Baştaki ve sondaki boşluklar parametre değerinden emailToMatch kırpılır.

Ayrıca bkz.

Şunlara uygulanır

FindUsersByEmail(String)

E-posta adresinin eşleşecek belirtilen e-posta adresini içerdiği üyelik kullanıcılarından oluşan bir koleksiyon alır.

public:
 static System::Web::Security::MembershipUserCollection ^ FindUsersByEmail(System::String ^ emailToMatch);
public static System.Web.Security.MembershipUserCollection FindUsersByEmail (string emailToMatch);
static member FindUsersByEmail : string -> System.Web.Security.MembershipUserCollection
Public Shared Function FindUsersByEmail (emailToMatch As String) As MembershipUserCollection

Parametreler

emailToMatch
String

Aranacak e-posta adresi.

Döndürülenler

MembershipUserCollection

MembershipUserCollection parametresiyle emailToMatch eşleşen tüm kullanıcıları içeren bir.

Baştaki ve sondaki boşluklar parametre değerinden emailToMatch kırpılır.

Örnekler

Aşağıdaki kod örneği, kullanıcı girişini temel alarak üyelik veritabanından üyelik kullanıcı bilgilerini almak için yöntemini kullanır FindUsersByEmail ve sonuçları veri sayfalarında görüntüler.

Önemli

Bu örnek, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu içerir. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.

<%@ 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.FindUsersByEmail(EmailTextBox.Text);
  UserGrid.DataBind();
}

</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: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.FindUsersByEmail(EmailTextBox.Text)
  UserGrid.DataBind()
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:DataGrid id="UserGrid" runat="server"
                CellPadding="2" CellSpacing="1"
                Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white" />
  </asp:DataGrid>

</form>

</body>
</html>

Açıklamalar

FindUsersByEmail, e-posta adresinin yapılandırılan applicationNameiçin sağlanan emailToMatch ile eşleştiği üyelik kullanıcılarının listesini döndürür.

parametresinde SqlMembershipProvider like yan tümcesi emailToMatch kullanarak aramasını gerçekleştirir. LIKE yan tümcelerinde SQL Server tarafından desteklenen joker karakterler parametre değerinde kullanılabiliremailToMatch.

Ayrıca bkz.

Şunlara uygulanır