我正在开发一个允许用户添加一个或多个其他用户的管理面板。有一个文本区域,管理员可以在其中输入一个或多个要添加到应用程序的用户 ID,这对应于在就业过程中分配的用户 ID。提交时,应用程序从包含所有员工的数据库中提取姓名、电子邮件等,并将其显示在屏幕上以供验证。屏幕上还包括一些用于分配某些权限的复选框,例如CanWrite
和IsAdmin
。
看法
using (Html.BeginForm())
{
<table>
<tr>
<th>
</th>
<th>
@Html.DisplayNameFor(model => model.User.First().ID)
</th>
<th>
@Html.DisplayNameFor(model => model.User.First().Name)
</th>
<th>
@Html.DisplayNameFor(model => model.User.First().Email)
</th>
<th>
@Html.DisplayNameFor(model => model.User.First().CanWrite)
</th>
<th>
@Html.DisplayNameFor(model => model.User.First().IsAdmin)
</th>
</tr>
@foreach (var item in Model.User)
{
<tr>
<td>
<input type="checkbox" name="id" value="@item.ID" checked=checked/>
</td>
<td>
@Html.DisplayFor(modelItem => item.ID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email)
</td>
<td>
@Html.CheckBoxFor(modelItem => item.CanWrite)
</td>
<td>
@Html.CheckBoxFor(modelItem => item.IsAdmin)
</td>
</tr>
}
</table>
<input type="submit" />
}
注意:带有名称的复选框的原因ID
是允许在获取名称和其他信息后不添加用户,例如,您无意添加的用户意外进入了 ID 列表。
模型
public class User
{
public int ID { set; get; }
public string Name { set; get; }
public bool IsAdmin { set; get; }
public bool CanWrite { set; get; }
public string Email{ set; get; }
}
控制器
[HttpPost]
public ActionResult Create(IEnumerable<User> model)
{
//With this code, model shows up as null
}
对于单个用户,我知道我可以将User model
其用作控制器操作中的参数。如何调整此代码以同时添加多个用户?这甚至可能吗?