Как можно десериализовать и смоделировать привязку XML, который содержит несколько объектов, к коллекции таких объектов? - PullRequest
0 голосов
/ 20 июля 2011

В настоящее время у меня есть пользовательский связыватель моделей и поставщик связывателей моделей, который обнаруживает «text / xml», десериализует его с помощью MvcContrib ( это код / ​​setup ) и привязывает его к пользовательской модели, которую янапример,

<User>
<name></name><role></role>
</User>

будет привязан к new User() с User.name, user.role (как и следовало ожидать), и действие, конечно, начинается так:

ActionResult CreateUser(User u) {

Теперь мне интересно, могу ли я десериализовать XML, который выглядит следующим образом:

<Users> 
<User><name></name><role></role></User> 
<User>...</User>
<User>...</User> 
<Users>

И связать его с действием, подобным этому:

ActionResult CreateUsers(List<User> u) {

1 Ответ

0 голосов
/ 25 июля 2011

Попробуйте зарегистрировать подшивку модели следующим образом:

ModelBinders.Binders.Add(typeof(List<User>), new SimpleUserBinder());

Примечание: Вам не понадобится ModelBinderProvider, поскольку при указании List<User> в вашем действии оно будет автоматически совпадатьвведите и вызовите SimpleUserBinder.

...