我在使用默认绑定器绑定到嵌套列表时遇到了一些问题。我正在使用linq到sql并具有以下数据结构
比赛<竞争问题< CompetitionQuestionChoices
我的html如下
<%= 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)%>
在我的控制器中我试过
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Save([Bind(Prefix="Competition")]Competition competition)
{
}
让我参加比赛,但没有儿童元素
我已经更成功了,没有列表中的竞争前缀,而是单独绑定到每个集合,例如
。UpdateModel(competition,"Competition");
UpdateModel(competition.CompetitionQuestions,"competitionQuestions");
但是我不能让它竞争竞争问题选择,因为它必须有两个前缀,我不知道如何声明
感谢任何帮助。