У меня есть вложенный список, который я хочу принять в качестве параметра для своего действия. Я использовал Phil Haack's Post в качестве отправной точки, и он хорошо работает с одним списком уровней, но когда параметр более сложный, связующее свойство модели передает мне значение null. (Я не рискнула под капотом модели вяжущего еще, мне нужно для этого примера?)Привязка модели к вложенному списку
Действие:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Payment(..., List<AddonParticipants> addonParticipants)
{...}
Модель:
// this participant information will be added to the basket
// onto the activity which has the matching Guid.
public class AddonParticipants
{
public string Guid { get; set; }
public List<ParticipantDetails> Participants { get; set; }
}
public class ParticipantDetails
{
[Required(ErrorMessage = "Please enter participant's first name")]
public string FirstName { get; set; }
[Required(ErrorMessage = "Please enter participant's last name")]
public string LastName { get; set; }
}
Просмотр псевдокод:
foreach (...)
{
Html.Hidden("addonParticipants.Index", item.Addon.Guid)
Html.Hidden("addonParticipants["+item.Addon.Guid+"].Guid", item.Addon.Guid)
for (int i = 0; i < item.Addon.SubQuantity; i++)
{
Html.Hidden("addonParticipants[" + item.Addon.Guid + "].Participants.Index", i)
Html.TextBox("addonParticipants[" + item.Addon.Guid + "].Participants[" + i + "].FirstName", item.Addon.Participants[i].FirstName)
Html.TextBox("addonParticipants[" + item.Addon.Guid + "].Participants[" + i + "].LastName", item.Addon.Participants[i].LastName)
}
}
Предложения с благодарностью оценили.
Cheers.
Murray.
безупречный, спасибо. – Myster