我的会员服务类中有这个代码(取自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。
答案 0 :(得分:1)
创建一个视图,该视图将为集合的每个成员生成包含标签和复选框的表单。您需要能够从复选框的ID到用户。
在HTTP.POST Action方法中,当您找到一个相应的用户批准时,遍历提交的字段以查找设置复选框。
显然,表单可以显示每个用户的任意细节。
使用内置控件助手需要花费更多精力,因为您没有固定大小的模型可供使用。要实现类似的东西我:
ViewData["ids"]
填充IEnumerable<IdType>
(视图将循环播放)ViewData["field" + id]
的每个条目
using ViewData["ids"]
以使用该字段的ID调用HTML帮助程序。(那是V1,在V2中我使用的是模型状态,因此我可以使用内置的验证错误显示支持,但如果您只想选择用户,则不适用。)
POST处理类似,从数据库重新填充id列表并查找传递的FormCollection
。