Вот упрощенная версия моих моделей:
Код: Выделить всё
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
}
Код: Выделить всё
public class Teacher
{
public int Id { get; set; }
public int PersonId { get; set; }
public Person Person { get; set; }
}
Код: Выделить всё
public class Exam
{
public int Id { get; set; }
public string Subject { get; set; }
public DateTime ExamDate { get; set; }
public int TeacherId { get; set; }
public Teacher Teacher { get; set; }
}
Код: Выделить всё
public class ExamViewModel
{
public Exam Exam { get; set; }
public IEnumerable
People { get; set; }
public IEnumerable Teachers { get; set; }
}
Код: Выделить всё
public ActionResult Create()
{
var people = _context.People.ToList();
var teachers = _context.Teachers.ToList();
var viewModel = new ExamViewModel
{
People = people,
Teachers = teachers,
};
return View(viewModel);
}
Сначала я попытался отобразить список всех имен, прежде чем пытаться отображение имени и Фамилия со следующим html-помощником бритвы в моем представлении Create, но мне уже не удалось это сделать, поскольку я мог получить доступ к свойствам только из одного класса (
Код: Выделить всё
TeachersКод: Выделить всё
Plan exam
@using (Html.BeginForm("Create", "ExamController"))
{
@Html.DropDownListFor(m => m.Exam.TeacherId, new SelectList(Model.Teachers, "Id", "FirstName"), "-- Please select --", new { @class = "form-control", @placeholder = "Teacher" })
@Html.LabelFor(m => m.Exam.TeacherId)
}
Подробнее здесь: https://stackoverflow.com/questions/721 ... vc-c-sharp
Мобильная версия