Je rencontre des problèmes de liaison à une liste imbriquée avec le classeur par défaut. J'utilise LINQ to SQL et ont la structure de données suivantesLiaison de modèle par défaut MVC à la liste complexe
Concours < CompetitionQuestions < CompetitionQuestionChoices
mon html est la suivante
<%= Html.Hidden("Competition.Id",Model.Competition.Id) %>
<%=Html.TextBox("Competition.CompetitionName", Model.Competition.CompetitionName)%>
<%= Html.TextBox("Competion.CompetitionQuestions[0].Id", Model.CompetitionQuestion.Id)%>
<%= Html.TextBox("Competion.CompetitionQuestions[0].Question", Model.CompetitionQuestion.Question)%>
<%= Html.TextBox("Competion.CompetitionQuestions[0].CompetitionQuestionChoices[0].Id", Model.CompetitionQuestionChoices.Id)%>
<%= Html.TextBox("Competion.CompetitionQuestions[0].CompetitionQuestionChoices[0].Choice", Model.CompetitionQuestionChoices.Choice)%>
Dans mon contrôleur, j'ai essayé
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Save([Bind(Prefix="Competition")]Competition competition)
{
}
ce qui m'obtient une concurrence mais aucun élément d'enfant
J'ai été plus réussie sans le préfixe de concurrence sur les listes dans le HTML et la liaison à chaque collection individuellement.
UpdateModel(competition,"Competition");
UpdateModel(competition.CompetitionQuestions,"competitionQuestions");
mais je ne peux pas obtenir que cela fonctionne pour competitionQuestionChoices comme il doit avoir deux préfixes et je ne sais pas comment déclarer
Toute aide est reçue avec reconnaissance.