获取用户名以“A”开头的前10位用户(ASP.NET)

时间:2009-08-15 00:24:58

标签: asp.net asp.net-membership

我想创建自己的分页控件,我想用它来列出网格中的用户。

不知何故,我只需要为第一页的示例用户排名前10位,然后为10-20位用户等等。

我在成员资格名称空间中找不到任何内置方法。如果我想查找用户名以A或其他方式开始的所有用户,则Finduserbyname非常有用。

现在我需要一种有效的方法来逐页提取这些数据。

谢谢

2 个答案:

答案 0 :(得分:2)

当我用Google搜索方法定义Membership.FindUsersByName时,它有更多参数可用于定义分页

以下是详细信息:http://msdn.microsoft.com/en-us/library/fa5st8b2.aspx

public static MembershipUserCollection FindUsersByName(
 string usernameToMatch,
 int pageIndex,
 int pageSize,
 out int totalRecords
)

从参数定义中可以看出,您可以提供(int)pageIndex以及(int)pageSize。

所以假设你总共有100条记录用firstname ='John'来限定用户,那么如果你想要检索第一页(每页共有10个用户),你可以设置(int)pageIndex为1,然后(int)pageSize为10。

随后,如果要检索第二页,可以将(int)pageIndex定义为2,将(int)pageSize定义为10.

您可以使用totalRecords(out)参数来获取记录总数,以便您可以使用它在UI网格中显示。

答案 1 :(得分:0)

我找到了article,其中显示了如何使用Membership.GetAllUsers();函数,然后将其用作数据源

所以,你有一个gridview或数据网格,并设置源如下:

Users.DataSource = Membership.GetAllUsers();
Users.DataBind(); 

然后你可以从那里创建你的分页(或使用gridview的内置分页)