Я довольно новичок в ASP.NET MVC и пытаюсь найти лучший способ сделать это. Это, вероятно, просто, но я просто хочу сделать все правильно, поэтому я подумал, что спросить.
Допустим, у меня есть такая модель:
Task - Id, Description, AssignedStaffMember
StaffMember - Id, FirstName, LastName
и, на мой взгляд, я хочу создать новое задание. Я делаю строго типизированное представление Razor и могу использовать EditorFor для создания текстовых полей для Description, но как насчет AssignedStaffMember?
Я хочу раскрывающийся список всех текущих сотрудников и могу выбрать один из них, после чего он передается методу действия, который
NewTask(string description, StaffMember assignedStaffMember)
или это, или я мог бы иметь int для staffId вместо объекта StaffMember и искать его в методе действия.
Каков наилучший способ сделать это? Мне нужно пойти в базу данных, чтобы составить список сотрудников, вот что я подумал:
Создайте частичное представление раскрывающегося списка сотрудников, который будет использоваться несколько раз, и наберите @Html.Action("ListStaff", "Staff")
для его вызова. Метод действия тогда имеет
public ActionResult ListStaff()
{
IEnumerable<StaffMember> model = _serviceLayer.GetAllStaff();
return PartialView(model);
}
Однако я не уверен, как это будет работать с привязкой модели. Насколько я понимаю, для формы необходимо указать правильное имя для формы, мне нужно передать имя частичному представлению для на элемент, я думаю?
Вместо того, чтобы вызывать контроллер для получения персонала, создайте ViewModel, который содержит мою задачу и коллекцию IEnumerable возможный набор персонала. возможно, отправьте эту информацию для частичного просмотра.
Помощник по HTML?
EditorFor как-то можно использовать?
какой (или есть еще) будет лучше? и как бы я сделал привязку модели?