Это кажется мне до боли очевидным, но по какой-то причине я не могу заставить его работать так, как я хочу. Возможно, это невозможно, как я делаю, но это кажется маловероятным. Этот вопрос может быть несколько связанным: Модель ASP.NET MVC Привязка связанных объектов на той же странице.
У меня есть EditorTemplate для редактирования объекта с несколькими ссылками на связанные объекты. Когда редактор визуализируется, пользователю предоставляется раскрывающийся список для выбора связанных сущностей, при этом раскрывающийся список возвращает идентификатор в качестве своего значения.
<%=Html.DropDownListFor(m => m.Entity.ID, ...)%>
При отправке запроса значение формы получает ожидаемое имя: «Entity.ID», однако моя строго типизированная модель, определенная как параметр действия, не имеет Entity.ID, заполненного значением, переданным в запросе.
public ActionResult AddEntity(EntityWithChildEntities entityWithChildEntities) { }
Я попытался поиграть с атрибутом Bind () и указал Bind(Include = "Entity.ID")
на entityWithChildEntities, но, похоже, это не сработало. Я также пробовал Bind(Include = "Entity")
, но это привело к тому, что ModelBinder попытался привязать полное определение «сущности» (что неудивительно).
Есть ли способ получить привязку модели по умолчанию для заполнения идентификатора дочерней сущности, или мне нужно будет добавить параметры действия для каждого идентификатора дочерней сущности, а затем вручную скопировать значения в определение модели?
Entity
какой-либо модификатор доступа, кромеpublic
? нравится;public HomeTestModelChild Child { get; internal set; }
- person cem   schedule 02.06.2010