asp.net-mvc - 使用成员资格提供程序的用户和角色列表

标签 asp.net-mvc

我正在尝试使用内置的成员资格提供程序生成一个 View 以显示用户及其角色的列表。

我的模型和 Controller 正在提取用户和角色,但是在我的 View 中显示它们时遇到了麻烦。

模型

public class AdminViewModel
    {
        public MembershipUserCollection Users { get; set; }
        public string[] Roles { get; set; }
    }

Controller
public ActionResult Admin()
{
      AdminViewModel viewModel = new AdminViewModel
      {
            Users = MembershipService.GetAllUsers(),
        Roles = RoleService.GetRoles()
      };

      return View(viewModel);
}

查看
Inherits="System.Web.Mvc.ViewPage<IEnumerable<Account.Models.AdminViewModel>>"

<table>

<tr>
    <td>UserName</td>
    <td>Email</td>
    <td>IsOnline</td>
    <td>CreationDate</td>
    <td>LastLoginDate</td>
    <td>LastActivityDate</td>
</tr>

<% foreach (var item in Model) { %>

<tr>
    <td><%=item.UserName %></td>
    <td><%=item.Email %></td>
    <td><%=item.IsOnline %></td>
    <td><%=item.CreationDate %></td>
    <td><%=item.LastLoginDate %></td>
    <td><%=item.LastActivityDate %></td>
    <td><%=item.ROLE %></td>
</tr>

<% }%>

</table>

最佳答案

就像安德鲁所说的那样,您需要使View继承自AdminViewModel,而不是IEnumerable<AdminViewModel>。纠正之后,您需要遍历Model.Users而不是Model中的foreachModel.Users将包含具有Username属性的MembershipUser对象。

<% foreach (var item in Model.Users) { %>

<tr>
    <td><%=item.UserName %></td>
    <td><%=item.Email %></td>
    <td><%=item.IsOnline %></td>
    <td><%=item.CreationDate %></td>
    <td><%=item.LastLoginDate %></td>
    <td><%=item.LastActivityDate %></td>
    <td><%=item.ROLE %></td>
</tr>

<% }%>

关于asp.net-mvc - 使用成员资格提供程序的用户和角色列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2827957/

相关文章:

c# - HTTP 失败响应覆盖非本地客户端的响应主体

c# - 使用数据库 MVC 4 Razor 中的数据填充 DropdownList

asp.net-mvc - 比较两个 RouteValueDictionary 实例

asp.net-mvc - 跨域 SignalR 身份验证

javascript - jQuery AJAX 调用 MVC Controller 操作永远不会返回

asp.net-mvc - MVC 和 Razor 中 Html.TextboxFor 和 Html.EditorFor 的区别

c# - 如何在 asp.net c# 应用程序中放置一个可选的文件上传按钮?

asp.net-mvc - 如何将带有现有数据库的 ASP.NET MVC 站点部署到 Azure Web Apps?

c# - MVC 正则表达式验证电子邮件

c# - 在 MVC 应用程序中缓存图像的正确方法