asp.net-mvc-如何创建视图以显示所有未经批准的用户并允许他们获得批准

asp.net-mvc-如何创建视图以显示所有未经批准的用户并允许他们获得批准,asp.net-mvc,membership,Asp.net Mvc,Membership,我的会员服务类中有此代码(取自asp.net-mvc示例应用程序) 我现在需要一个视图来显示此信息列表,并允许某人批准这些信息,这将返回控制器并将IsApproved属性设置为true。创建一个视图,该视图将为集合的每个成员生成一个包含标签和复选框的表单。您需要能够从复选框的id获取到用户 在HTTP.POST操作方法中,当您找到一个将相应用户设置为approved的复选框时,遍历提交的字段以查找set复选框 显然,表单可以为每个用户显示任意详细信息 使用内置的控件助手需要更多的努力,因为您没有

我的会员服务类中有此代码(取自asp.net-mvc示例应用程序)


我现在需要一个视图来显示此信息列表,并允许某人批准这些信息,这将返回控制器并将IsApproved属性设置为true。

创建一个视图,该视图将为集合的每个成员生成一个包含标签和复选框的表单。您需要能够从复选框的id获取到用户

在HTTP.POST操作方法中,当您找到一个将相应用户设置为approved的复选框时,遍历提交的字段以查找set复选框

显然,表单可以为每个用户显示任意详细信息

使用内置的控件助手需要更多的努力,因为您没有固定大小的模型可供使用。为了实现类似的目标,我:

  • 使用非强类型视图
  • IEnumerable
    填充
    ViewData[“ids”]
    (视图将在其上循环)
  • 对于为实体中显示的每个字段填充的每个条目
    ViewData[“field”+id]
  • 在id
    上循环的视图中,使用ViewData[“ids”]
    调用具有字段id的HTML帮助程序
(那是V1,在V2中,我使用了模型状态,因此我可以使用内置的验证错误显示支持,但如果您只想选择用户,这并不适用。)


后期处理与此类似,从数据库中重新填充id列表,并在传递的
FormCollection中查找

您能否分享您尝试过的代码,并描述它如何不起作用。老实说,我正在努力从何处开始。视图如何调用此代码并获取此用户列表?我正在试图弄清楚如何将视图链接到控制器问题是如何让视图向控制器请求此操作。我是否只是简单地将其粘贴到ViewDataYes(或ModelData,尽管这更难使用)。@oo:视图不应该从任何地方请求任何内容。应该为视图提供它所需的所有数据。
  public MembershipUserCollection GetUnapprovedUsers()
    {
        MembershipUserCollection users = Membership.GetAllUsers();
        MembershipUserCollection unapprovedUsers = new MembershipUserCollection();
        foreach (MembershipUser u in users)
        {
            if (!u.IsApproved)
            {
                unapprovedUsers.Add(u);
            }
        }
        return unapprovedUsers;
    }