Я работаю над административной панелью, которая позволит пользователю добавить одного или многих других пользователей. Существует текстовая область, в которой администратор может вводить один или несколько идентификаторов пользователей, которые должны быть добавлены в приложение, что соответствует идентификатору пользователя, присвоенному во время процесса трудоустройства. При представлении приложение вытаскивает имя, адрес электронной почты и т. Д. Из базы данных, содержащей всех сотрудников, и отображает ее на экране для проверки. Также на экране есть некоторые флажки для назначения некоторых разрешений, таких как 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
, чтобы дать возможность не добавить пользователя, как только имя и другая информация была неправдоподобным, например, пользователь вы не означает, что случайно попал в список идентификаторов.
Модель
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
в качестве параметра в моем действии контроллера. Как настроить этот код для работы с несколькими пользователями, добавленными сразу? Возможно ли это?
Точно, что я имею в виду. Хороший пример. – meilke