Я хочу создать родительский объект с дочерними/связанными объектами в одном представлении. Примером может служить: создать одного Отца (с некоторым именем) вместе со всеми его сыновьями (с их именами). Я создал модель представления:
public class FatherViewModel {
public Father father {get; set;} // has 1 property Name
public List<Son> {get; set;} // has 1 property Name
}
Мой вопрос: как мне получить список Сынов назад из представления, когда сообщение выполняется? Я попытался использовать HiddenFor для каждого идентификатора Son, но, несмотря ни на что, список пуст, когда возвращается контроллеру.
UPDATE:
Я попробовал пример шаблона редактора Shyju, описанный ниже, но мой редактор никогда не вызывается. У меня есть 1 объект:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int? FatherId { get; set; }
public virtual ICollection<Person> Children { get; set; }
}
Я сделал это:
- Поднимите полный контроллер для лица с индексом, создайте, отредактируйте...
- Создана папка EditorTemplates в Views- > Person
-
Создано Person.cshtml:
@model TestEditorTemplate.Models.Person <div> <h4>Child</h4> @Html.TextBoxFor(s => s.Name) @Html.HiddenFor(s => s.Id) </div>
-
Добавлен
@Html.EditorFor(m => m.Children)
в Create.cshtml
Вопросы:
- Как
@Html.EditorFor(m => m.Children)
возможно работать с шаблон редактора, когдаm.Children
представляет собой наборPerson
, а не одинPerson
? - Я хочу создать (не редактировать) отца, включая детей в то же время. Это означает, что у меня нет идентификаторов для перехода к Create view для начала. Как это может работать? Из примера, сделанного Shyju, идентификаторы уже созданы заранее?? Или я просто неправильно понял пример?