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

时间:2009-07-31 13:20:01

标签: asp.net-mvc membership

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

  public MembershipUserCollection GetUnapprovedUsers()
    {
        MembershipUserCollection users = Membership.GetAllUsers();
        MembershipUserCollection unapprovedUsers = new MembershipUserCollection();
        foreach (MembershipUser u in users)
        {
            if (!u.IsApproved)
            {
                unapprovedUsers.Add(u);
            }
        }
        return unapprovedUsers;
    }

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

1 个答案:

答案 0 :(得分:1)

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

在HTTP.POST Action方法中,当您找到一个相应的用户批准时,遍历提交的字段以查找设置复选框。

显然,表单可以显示每个用户的任意细节。

使用内置控件助手需要花费更多精力,因为您没有固定大小的模型可供使用。要实现类似的东西我:

  • 使用非强类型视图
  • 使用ViewData["ids"]填充IEnumerable<IdType>(视图将循环播放)
  • 对于我在实体
  • 中显示的每个字段填充ViewData["field" + id]的每个条目
  • 在视图中循环访问using ViewData["ids"]以使用该字段的ID调用HTML帮助程序。

(那是V1,在V2中我使用的是模型状态,因此我可以使用内置的验证错误显示支持,但如果您只想选择用户,则不适用。)

POST处理类似,从数据库重新填充id列表并查找传递的FormCollection