В базе данных у меня есть таблица контактов:
ContactID (int)
FirstName (varchar)
LastName (varchar)
...
XmlFields (xml) // This field is xml type
Для создания нового контакта я создал два класса - один для обычных полей и другого для отображения полей от XmlFields
поле.
В Контроллере у меня есть следующее:
public ActionResult Create(Contact contact, FormCollection collection)
...
Обычное поле я ловлю с contact
возразите и те, которые должны быть сохранены как xml в XmlFields
Я пытаюсь поймать с collection
объект. Проблема - это collection
возразите ловит все поля, поэтому интересно, возможно ли изолировать xml поля при регистрации на конкретный объект так, чтобы я мог легко управлять с ними. Мне нужно это в разделенных объектах, потому что эти xml поля будут сгенерированными динамично и будут отличаться для каждого пользователя.
Заранее спасибо,
Ile
Вы можете разделить поля, например:
public ActionResult Create(int ContactID, string FirstName)
И передать необработанные данные в XML ... Для MVC нет никакого автоматического способа узнать, где чтобы передать какие данные, если вы не рассматриваете создание настраиваемого связывателя модели: http://davidhayden.com/blog/dave/archive/2008/09/08/CustomModelBinderMoreUIValidationASPNETMVC.aspx , что является еще одним допустимым вариантом.
HTH.