我在使用默认活页夹绑定到嵌套列表时遇到了一些麻烦。我正在使用 linq to sql 并具有以下数据结构
比赛 < 比赛题 < 比赛题选择
我的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)
{
}
这让我参加了比赛,但没有子元素
如果没有 HTML 列表中的 Competition 前缀并单独绑定到每个集合,我会更加成功,例如
UpdateModel(competition,"Competition");
UpdateModel(competition.CompetitionQuestions,"competitionQuestions");
但我不能让它为 CompetitionQuestionChoices 工作,因为它必须有两个前缀,我不知道如何声明
任何帮助都将不胜感激。