2012-03-01 60 views
-1

我正在使用此特定系統。在管理頁面,當然作爲管理員,他可以查看系統的所有用戶。要查看所有用戶,我使用此代碼以檢索db中的所有用戶。檢索除管理員以外的所有用戶名

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

protected void BindGridview() 
{ 
    gvDetails.DataSource = Membership.GetAllUsers(); 
    gvDetails.DataBind(); 
} 

現在的問題是,網格視圖顯示所有的用戶和管理員。我如何防止gridview顯示管理員的電子郵件和用戶名?

謝謝。

回答

2

你會做這樣的事情:

using System.Linq; 

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

    gvDetails.DataSource = users; 

    gvDetails.DataBind(); 
} 
+0

謝謝。但它給了我這個錯誤:無法找到源類型'System.Web.Security.MembershipUserCollection'的查詢模式的實現。 '找不到'。考慮明確指定範圍變量'user'的類型。 – 2012-03-01 03:50:02

+0

查詢應該來自Membership.GetAllUsers()中的MembershipUser用戶//參考:http://sqlblogcasts.com/blogs/simons/archive/2009/01/15/Using-LINQ-with-unfriendly-collections.aspx – MatthewMartin 2012-10-26 17:54:53

0

你需要有查詢應檢索只有正常(具體)的用戶,而不是所有的管理員用戶的用戶和您的數據庫應該有一個場與用戶類型列應該有用戶類型主表引用ID鍵。在檢索時,您只需要傳遞select語句,具體指定要檢索哪種類型的用戶。

相關問題