【问题标题】:Using ASP.Net Membership, get all users使用 ASP.Net Membership,获取所有用户
【发布时间】:2013-12-17 01:03:18
【问题描述】:

我正在尝试使用Membership.GetAllUsers() 在数据库中创建我所有用户的列表。但是,我使用了一个模型来映射用户属性(名字、姓氏、电子邮件等)。

如何将所有用户添加到List<ManageUserViewModel>

我已经累了:

List<ManageUserViewModel> model = Membership.GetAllUsers();

然后

MembershipUserCollection users = Membership.GetAllUsers();
List<ManageUserViewModel> model = new List<ManageUserViewModel>();

foreach (var item in users)
{
    model.Add(item);
}

【问题讨论】:

    标签: asp.net-mvc asp.net-membership


    【解决方案1】:

    如果您在 foreach 循环中明确指定了对象类型,您将能够访问您正在寻找的用户对象。

    例如:

        var users = Membership.GetAllUsers();
    
        var userList = new List<MembershipUser>();
        foreach (MembershipUser user in users) 
        {
            userList.Add(user);
        }
    

    【讨论】:

      【解决方案2】:

      Membership.GetAllUsers() 返回一个MembershipUserCollection,它实际上是一个MembershipUser 的列表,而您想要一个ManageUserViewModel 的列表,我假设它是您应用程序的一个内部类。

      您可以为此使用 LINQ:

      var model = Membership.GetAllUsers()
                    .Select(m => 
                          new ManageUserViewModel {/* set properties you need here */ }
                    )
                    .ToList();
      

      相当于:

      var users = Membership.GetAllUsers();
      var model = new List<ManageUserViewModel>();
      
      foreach (var item in users)
      {
          model.Add(new ManageUserViewModel { /* set properties here */});
      }
      

      【讨论】:

      • 当我尝试将属性从项目分配给模型时,我也无法做到,因为项目没有属性(名字、姓氏等)
      • 该项目具有Membership user 的所有属性,但不包括配置文件。它是一个独立于会员的组件,你用它做什么?
      • 我正在尝试创建一种方法来管理我的应用程序中的用户。锁定他们,重置他们的密码,更新他们的角色,等等。但是,现在我只是想让所有用户将他们显示到一个网格中。
      【解决方案3】:

      我也有同样的挑战。我的是使用 Visual Studio 2013 的 vb 而不是 c# 和 .NET 4.5 版。 我从微软网站here得到了所有的解决方案 祝你好运

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多