he modificado la aplicación Nerd Dinner para permitir la edición de registros secundarios añadiendo el siguiente código al DinnerForm.ascxActualización de Padres/registros secundarios con enlazadores de modelos en ASP.Net MVC
<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>
se encuentra prestando esto:
<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>
No he modificado el método de acción de edición de publicación de DinnersControler. La cena para padres se actualiza como siempre, pero aparece el UpdateModel (cena); no está viendo/actualizando los registros de RSVP secundarios.
He intentado algunas variaciones en la representación de los registros secundarios para que los archivadores del modelo vean la colección, sin suerte.
Está actualizando los registros padre/hijo de una sola vez al llamar a UpdateModel (Parent); posible con los archivadores modelo actual?
@jamesshannon Esta respuesta está cerrada. Repare su Modelo de actualización en el ciclo para leer int i = 0; foreach (RSVP r en Dinner.RSVPs) { UpdateModel (r, "Dinner.RSVPs [" + i + "]"); i ++; } y podemos marcar esto hecho/respondido. –