Изменение типа элементов списка с помощью CustomModelBinder - PullRequest
0 голосов
/ 28 июня 2011

У меня есть требование связать сущность типа 'Поле', у которой в качестве свойства есть Список. Список будет иметь смешанные типы поведения, но все они наследуются от поведения. Мне нужно, чтобы список связывался с правильными производными типами, чтобы их можно было правильно сохранить.

Я использую технику, используемую в DerivedTypesModelBinder в библиотеке MvcContrib, в соответствии с которой у меня есть свойство для каждой из моих сущностей, которое содержит тип, который необходимо создать. Поле называется «XxModelTypexX».

Моя проблема в том, что я не уверен, как изменить тип свойства в привязке пользовательской модели. Каждый раз, когда я пробую, он просто связывает общий список Поведений.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 28 июня 2011

Хорошо, так что я понял это. По сути, даже если список поведения является свойством для Field, вам все равно нужно добавить его в список типов, которые используют привязку пользовательской модели в файле Global.asax

System.Web.Mvc.ModelBinders.Binders.Add(typeof(Types.Behaviour), new ConcreteTypeModelBinder());

С этой строкой код смены типа, с которым я работал, угощение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...