Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检索除管理员之外的所有用户名_C#_Asp.net_Sql_Asp.net Membership - Fatal编程技术网

C# 检索除管理员之外的所有用户名

C# 检索除管理员之外的所有用户名,c#,asp.net,sql,asp.net-membership,C#,Asp.net,Sql,Asp.net Membership,我正在使用这个特殊的系统。在管理员页面,当然作为管理员,他可以查看系统的所有用户。为了查看所有用户,我使用此代码检索数据库中的所有用户 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindGridview(); } } protected void BindGridview() { gvDetails.DataSource = Membership.Ge

我正在使用这个特殊的系统。在管理员页面,当然作为管理员,他可以查看系统的所有用户。为了查看所有用户,我使用此代码检索数据库中的所有用户

protected void Page_Load(object sender, EventArgs e)
{
   if (!IsPostBack)
   {
       BindGridview();
   }
}

protected void BindGridview()
{
   gvDetails.DataSource = Membership.GetAllUsers();
   gvDetails.DataBind();
}
现在的问题是,网格视图显示了所有用户和管理员。如何防止gridview显示管理员的电子邮件和用户名


谢谢。

您可以这样做:

using System.Linq;

protected void BindGridview() 
{ 
   var users = from user in Membership.GetAllUsers()
                    where user.UserType != "Admin"
                    select user;

   gvDetails.DataSource = users; 

   gvDetails.DataBind(); 
} 

您需要有一个只检索普通(特定)用户而不是所有admins用户的查询,为此,您的数据库应该有一个包含用户类型列的字段,该列应该具有从用户类型主表引用的Id键。在检索时,您只需通过select语句来指定要检索的用户类型。

谢谢。但它给了我一个错误:找不到源类型“System.Web.Security.MembershipUserCollection”的查询模式的实现找不到的地方。考虑显式指定范围变量“用户”的类型。查询应该来自成员资格中的成员资格用户。