【问题标题】:ASP.NET MVC Get a list of users with particular profile propertiesASP.NET MVC 获取具有特定配置文件属性的用户列表
【发布时间】:2010-04-11 13:45:47
【问题描述】:

我正在使用 ASP.NET MVC 1,并使用 WebProfile Builder VS 插件添加了一个自定义 Profile 类(可在此处找到:http://code.msdn.microsoft.com/WebProfileBuilder/Release/ProjectReleases.aspx?ReleaseId=980)。

在我的一个表单上,我想要一个下拉列表,其中包含共享特定个人资料值的所有用户。

我可以看到我可以获得所有用户的列表:

Membership.GetAllUsers()

但是我看不到如何获取具有特定配置文件值的所有用户,在我的例子中是 CellId。

我是否以正确的方式处理这个问题?我使用成员角色来定义哪些用户是管理员等,但配置文件似乎是对用户进行分组的正确位置。

任何关于如何访问用户列表的细节以及关于我是否在这里追求正确途径的任何指针都将不胜感激。

非常感谢, 山姆

【问题讨论】:

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


    【解决方案1】:

    Profile 没有查询 API,但这可能会给您一些指导:

    var usersWithNonZeroCounter = Membership.GetAllUsers().Cast<MembershipUser>()
        .Where(user => true /*insert your user criteria here*/)
        .Select(user => ProfileBase.Create(user.UserName, true))
        .Where(profile => ((int)profile["counter"]) > 0 /*insert your profile criteria here*/)
        .ToList();
    

    【讨论】:

      【解决方案2】:

      如果您只需要一个比较,您可以使用以下语句:

      return Membership.GetAllUsers().Cast<MembershipUser>()
              .Where(user => ((int)ProfileBase.Create(user.UserName, true)["Owner"]) == _ownerid);
      

      如果您需要更多的评估,为什么不使用 let 运算符来存储配置文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-04
        • 2013-01-28
        • 2019-04-07
        • 1970-01-01
        • 2011-01-17
        • 2016-02-03
        • 2022-06-11
        相关资源
        最近更新 更多