Я пытаюсь заставить работать выпадающий список в ядре asp.net, но ему даже не нравится первый список, которым предполагается заполнить штатные сотрудники.У меня есть таблица с названием заголовка действия, с идентификатором персонала для внешней команды, связанным с таблицей персонала.
Сначала приведу код, который я пробую из этого урока
public IEnumerable<SelectListItem> GetStaff()
{
List <SelectListItem> staff = _db.Staff.AsNoTracking();
List <SelectListItem> selectListItems = _db.Staff.AsNoTracking()
.OrderBy(n => n.FirstName)
.Select(n =>
new SelectListItem
{
Value = n.StaffID.ToString(),
Text = n.FirstName.ToString() + " " + n.LastName.ToString()
}).ToList();
var stafftip = new SelectListItem()
{
Value = null,
Text = "--- select staff memeber---"
};
staff.Insert(0, stafftip );
return new SelectList(staff, "Value", "Text");
}
Мой класс для заголовка действия
public class ActivityHeader
{
// other fields removed for brevity
[Required]
[Display(Name = "Staff")]
public int StaffId { get; set; }
public IEnumerable<Staff> Staff { get; set; }
}
Мой класс персонала здесь, который должен связываться с другой таблицей с идентификатором персонала
public class Staff
{
[Key]
public int StaffID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int DepartmentId { get; set; }
public string StaffNumber { get; set; }
public virtual IEnumerable<Staff> Staff { get; set; }
}
Это мой HTML для моего представления, которое находится во всплывающем окне начальной загрузки.
<div class="col-sm-3">
<label for="inputPostalCode">SOP</label>
<div class="form-group">
@Html.LabelFor(x => Model.Staff, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-5">
@Html.DropDownListFor(x => Model.StaffId, new SelectList(Model.Staff, "Value", "Text"), htmlAttributes: new { @class = "form-control", id = "Country" })
@Html.ValidationMessageFor(x => x.StaffId, "", new { @class = "text-danger" })
</div>
</div>
</div>
То, что я ожидаю увидеть, это выпадающий список html с результатами сотрудников, но связанный с руководителем действия с идентификатором персонала.
Но этот список почему-то не нравится.Точная ошибка
![enter image description here](https://i.stack.imgur.com/vG8o5.png)