Celui-ci me semble douloureusement évident, mais pour une raison quelconque je ne peux pas le faire fonctionner comme je le veux. Peut-être que ce n'est pas possible comme je le fais, mais cela semble improbable. Cette question peut être quelque peu liée: ASP.NET MVC Model Binding Related Entities on Same Page.ASP.NET MVC - Liaison d'une entité enfant au modèle
J'ai un EditorTemplate pour éditer une entité avec plusieurs références d'entités associées. Lorsque l'éditeur est rendu, l'utilisateur reçoit une liste déroulante pour sélectionner les entités connexes, avec la liste déroulante renvoyant un ID comme valeur.
<%=Html.DropDownListFor(m => m.Entity.ID, ...)%>
Lorsque la demande est envoyée la valeur de formulaire est nommé comme prévu: « Entity.ID », mais mon modèle fortement typé défini comme un paramètre d'action ne sont pas Entity.ID avec la valeur passée dans la demande.
public ActionResult AddEntity(EntityWithChildEntities entityWithChildEntities) { }
J'ai essayé bidouiller avec Bind() attribut et spécifié Bind(Include = "Entity.ID")
sur les entityWithChildEntities, mais cela ne semble pas fonctionner. J'ai également essayé Bind(Include = "Entity")
, mais cela a entraîné le ModelBinder essayant de lier une définition "Entité" complète (sans surprise).
Est-il possible d'obtenir le classeur par défaut pour remplir l'ID d'entité enfant ou dois-je ajouter des paramètres d'action pour l'ID de chaque entité enfant, puis copier manuellement les valeurs dans la définition du modèle?
La propriété 'Entity' a-t-elle un modificateur d'accès autre que public? comme ça; 'public HomeTestModelChild Child {get; ensemble interne; } ' – cem
Non monsieur, tout est public. –