2010-04-30 5 views
1

В базе данных у меня есть таблица Контакты:ASP.NET MVC2 - конкретные поля в форме проходят через определенный объект?

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

ответ

2

Вы можете разделять поля как:

public ActionResult Create(int ContactID, string FirstName) 

И передавать необработанные данные в XML ... Существует не автоматический способ для MVC знать где нужно подталкивать данные, если не считать создание настраиваемого связующего объекта: http://davidhayden.com/blog/dave/archive/2008/09/08/CustomModelBinderMoreUIValidationASPNETMVC.aspx, который является еще одним допустимым вариантом.

HTH.