【发布时间】:2010-11-09 08:50:30
【问题描述】:
我已经修改了Nerd Dinner 应用程序以允许通过将以下代码添加到 DinnerForm.ascx 来编辑子记录
<p>
<%int i = 0;
foreach (NerdDinner.Models.RSVP rsvp in this.Model.Dinner.RSVPs)
{ %>
<%= Html.Hidden("Dinner.RSVPs[" + i + "].RsvpID", rsvp.RsvpID)%>
<%= Html.Hidden("Dinner.RSVPs[" + i + "].DinnerID", rsvp.DinnerID)%>
<%= Html.TextBox("Dinner.RSVPs[" + i + "].AttendeeName", rsvp.AttendeeName)%>
<% i += 1;
} %>
</p>
它正在渲染这个:
<p>
<input id="Dinner_RSVPs[0]_RsvpID" name="Dinner.RSVPs[0].RsvpID" type="hidden" value="36" />
<input id="Dinner_RSVPs[0]_DinnerID" name="Dinner.RSVPs[0].DinnerID" type="hidden" value="63" />
<input id="Dinner_RSVPs[0]_AttendeeName" name="Dinner.RSVPs[0].AttendeeName" type="text" value="kp" />
<input id="Dinner_RSVPs[1]_RsvpID" name="Dinner.RSVPs[1].RsvpID" type="hidden" value="37" />
<input id="Dinner_RSVPs[1]_DinnerID" name="Dinner.RSVPs[1].DinnerID" type="hidden" value="63" />
<input id="Dinner_RSVPs[1]_AttendeeName" name="Dinner.RSVPs[1].AttendeeName" type="text" value="jim" />
</p>
我没有修改 DinnersControler 的 Post Edit Action 方法。家长晚餐照常更新,但显示为 UpdateModel(dinner);未查看/更新子 RSVP 记录。
我尝试了几种渲染子记录的变体,以便模型绑定器可以看到集合,但没有运气。
正在通过调用 UpdateModel(Parent) 一次性更新父/子记录;可以使用当前的模型绑定器吗?
【问题讨论】:
标签: asp.net-mvc modelbinders master-detail