По моему мнению, выбор между тремя способами, которые вы описываете, должен зависеть от двух дополнительных аспектов: 1) вашего ноу-хау во всех технологиях и 2) факторов времени и комфорта.Вам нужно более быстрое и грязное решение или вы хотите настроить свой бэкэнд в целом?Чем больше фактор времени важен для вас, тем больше вы должны делать свой выбор, основываясь в основном на своем текущем ноу-хау.
Я могу предложить вам еще один способ, который я лично предпочитаю.Мне нравится четко отделять данные и бизнес-интерфейс от визуализации данных на веб-сайте.Поэтому я разрабатываю сервис RESTful WFC с аутентификацией и авторизацией пользователя, который реализует всю бизнес-логику сайта.Я публикую сервис WCF как часть моего веб-сайта (подробности см. здесь ).При необходимости можно написать модульные тесты для тестирования службы WCF в качестве ядра сайта.
После того, как вы воспользуетесь услугой WCF, вы можете выбрать часть презентации своего сайта.Я лично знаю и люблю jqGrid.Он имеет множество функций, которые позволяют создавать очень удобный графический интерфейс на веб-сайте.Сетки для компонентов администратора могут иметь как поиск на панели инструментов, так и расширенный поиск.Сортировка по столбцу, изменение размера столбцов сетки, изменение порядка перетаскивания, скрытие ненужных столбцов и т. Д. Могут быть реализованы очень просто.Фильтрация данных для расширенного поиска или / и поиска по панели инструментов займет больше времени на программирование на сервере, но вы сможете использовать эту функцию во всех своих сетках.Важно, чтобы иметь возможность использовать пейджинг и фильтрацию на стороне сервера, вы должны расширить интерфейс веб-службы методами, имеющими информацию о пейджинге, сортировке и фильтрации.
Если вы решили использовать jqGrid, ваши MVC Viewsможет содержать в основном пустые таблицы и один JavaScript на сетку.JavaScript будет использовать jqGrid, который вызывает сервис WCF для заполнения сетки.В ASP.NET MVC вы в основном можете создавать меню и рабочие процессы, которые могут зависеть от пользователя (зависит от прав пользователя на сайте).
Поэтому я думаю, что вы должны сделать свой выбор самостоятельно, основываясь на требованиях, которыеу вас есть ноу-хау во всех технологиях, фактор времени и требования к комфорту на сайте.Во всех ситуациях вам нужно будет решить, как создать сайт так, чтобы он отображался и позволял изменять все категории, подкатегории и другие иерархические и зависимые объекты.