Membership.FindUsersByName Yöntem

Tanım

Kullanıcı adının eşleşecek belirtilen kullanıcı adını içerdiği üyelik kullanıcıları koleksiyonunu alır.

Aşırı Yüklemeler

FindUsersByName(String)

Kullanıcı adının eşleşecek belirtilen kullanıcı adını içerdiği üyelik kullanıcıları koleksiyonunu alır.

FindUsersByName(String, Int32, Int32, Int32)

Kullanıcı adının eşleşecek belirtilen kullanıcı adını içerdiği bir veri sayfasında üyelik kullanıcıları koleksiyonunu alır.

FindUsersByName(String)

Kullanıcı adının eşleşecek belirtilen kullanıcı adını içerdiği üyelik kullanıcıları koleksiyonunu alır.

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

Parametreler

usernameToMatch
String

Aranacak kullanıcı adı.

Döndürülenler

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

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

Özel durumlar

usernameToMatch boş bir dizedir.

usernameToMatch, null değeridir.

Ö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 FindUsersByName 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.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>

Açıklamalar

FindUsersByName, kullanıcı adının yapılandırılan applicationNameiçin sağlanan usernameToMatch adla eşleştiği üyelik kullanıcılarının listesini döndürür.

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

Baştaki ve sondaki boşluklar tüm parametre değerlerinden kırpılır.

Ayrıca bkz.

Şunlara uygulanır

FindUsersByName(String, Int32, Int32, Int32)

Kullanıcı adının eşleşecek belirtilen kullanıcı adını içerdiği bir veri sayfasında üyelik kullanıcıları koleksiyonunu alır.

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

Parametreler

usernameToMatch
String

Aranacak kullanıcı adı.

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 tarafından pageIndexbelirtilen sayfadan pageSizeMembershipUser başlayarak bir nesne sayfası içeren bir.

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

Özel durumlar

usernameToMatch boş bir dizedir.

-veya-

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

-veya-

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

usernameToMatch, null değeridir.

Ö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 FindUsersByName 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.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>

Açıklamalar

FindUsersByName, kullanıcı adının yapılandırılan applicationNameiçin sağlanan usernameToMatch adla eşleştiği üyelik kullanıcılarının listesini döndürür.

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

tarafından FindUsersByName 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 usernameToMatch üyelik kullanıcılarının toplam sayısına ayarlanmış bir out parametredir. Örneğin, kullanıcı adının bir bölümüyle veya tamamının eşleştirildiği usernameToMatch 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.

Ayrıca bkz.

Şunlara uygulanır