ASP.NET MVC - привязка модели для разных представлений во время выполнения - PullRequest
3 голосов
/ 22 марта 2012

Мой последний проект включает в себя действия, возвращающие разные представления во время выполнения (проще говоря, у приложения есть несколько разных пользователей в качестве пользователей, и они хотят иметь свои собственные пользовательские дизайны форм ввода данных - все эти формы совместно используют один и тот же объектный граф модели, но их отображение данных модели радикально отличается друг от друга) ...

Например, сущность «Дело» имеет несколько людей, связанных с ней. Некоторые формы отображают только поля одного человека, другие формы поддерживают несколько лиц, а другие вообще не содержат информации о человеке. Кроме того, формы имеют разные уровни полей - во многих формах отсутствует много полей, которые есть у других.

Из-за этого радикально отличающегося поведения, я считаю, что мне понадобится отдельное связующее для каждой модели представления.

Может ли StackOverflow порекомендовать план действий в этом случае или альтернативное решение, обеспечивающее простоту кода.

1 Ответ

2 голосов
/ 22 марта 2012

Если все ваши модели представлений основаны на общей абстрактной базовой модели представления, вы можете попросить ваше действие POST принять эту общую модель представления в качестве параметра, а затем написать пользовательский механизм связывания модели, который будет создавать экземпляр и привязывать правильный экземпляр, предполагая, что каждое представление отправляет дополнительное параметр, содержащий конкретный тип.

Вот пример того, как это можно сделать.

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