День добрый, подскажите пожалуйста, как лучше сделать "правильное" отображение модели следующего вида во View. Хочется, чтобы вложенные списки BookCheckList и объекты DeafultBook сами отображались и обрабатывались также как и первичные поля. Это вообще работает "из коробки", или надо дополнительно допиливать руками?
Model:
public class BookChecked
{
public int Id { get; set; }
public string Name { get; set; }
public bool Enabled { get; set; }
}
public class StudentView
{
public int Id { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public List<BookChecked> BookCheckList { get; set; }
public BookChecked DeafultBook{ get; set; }
public StudentView()
{
BookCheckList = new List<BookChecked>();
BookChecked DefaultBook = new BookChecked() {
Id = 100,
Name = "Книга по умолчанию",
Enabled = true
};
}
}
Controller:
public ActionResult Index()
{
StudentView stv = new StudentView() {
Age = 30,
LastName = "Студент1",
Id = 1
};
stv.BookCheckList.Add(new BookChecked
{
Id = 1,
Name = "C#",
Enabled = true
});
stv.BookCheckList.Add(new BookChecked
{
Id = 2,
Name = "Математика",
Enabled = false
});
return View(stv);
}
View:
@model DifficultModel.Models.StudentView
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
@Html.DisplayFor(m => Model);
</body>
</html>