2011-02-27 60 views
1

Im做这样的事情让已经封锁了所有用户的列表会禁止用户列表我怎么才能得到被禁止的日期排序的禁止用户名单。最近被禁止的 应该是第一个。按日期降序

回答

2

默认情况下,asp.net成员资格不存储此日期,因此您必须使用解决方法。一个简洁的方法是引入你自己的表格,但我建议滥用LastLoginDate。只要用户未正确登录(您的!isapproved将阻止发生),默认机制就不会触及此日期。

修改代码以阻止用户:

MembershipUser user = Membership.GetUser(username);    
if (user != null)    
{     
    user.IsApproved = isApproved; 
    user.LastLoginDate = DateTime.Now; 
    Membership.UpdateUser(user);    
} 

代码进行排序禁止日期,从@ Femaref的回答复制粘贴:使用SQL成员资格提供

public IQueryable<Aspnet_User> GetBannedUsers()    
{ 
    return db.Aspnet_Memberships   
    .Where(x => x.IsApproved == false)       
    .OrderByDescening(x => x.LastLoginDate) 
    .Select(x => x.Aspnet_User); 
} 
2
public IQueryable<Aspnet_User> GetBannedUsers() 
{ 
    return db.Aspnet_Memberships 
      .Where(x => x.IsApproved == false) 
      .OrderByDescening(x => x.BannedDate) //adjust property here 
      .Select(x => x.Aspnet_User); 
} 
+0

IM所以我在哪里可以引进banneddate?我应该直接将它添加到表Aspnet_Memberships还是那个糟糕的做法与“开箱即用”的表中搞乱? – raklos 2011-02-27 14:24:36

+0

不知道,我认为这包括在内?我会引入一个新的表格,其中包含会员ID和BannedDate。 – Femaref 2011-02-27 14:31:39