@littledragon
Нуб

Как правильно реализовать представления в ASP.NET MVC?

Есть веб приложение, в котором есть куча разных страниц. Очень многие страницы отличаются лишь классами у разных элементов. Например, , .page-fixed, .has-gridstack и т.д. У меня есть 2 варианта:
  1. В основном layout'e создать кучу условий (напр: if(ViewBag.NoSidebar){code}
  2. Создать кучу разных layout'ов.

Какой из этих вариантов лучше использовать? Или возможно лучше использовать какой-то другой вариант?
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 1
@dmitryKovalskiy
программист средней руки
Забудьте про ViewBag навсегда - это инструмент чтобы подтащить во вьюху строчку сообщения и все. Строить на нем программную логику - идея ниже среднего. Вещи вроде NoSidebar должны решаться через CSS или на крайняк через клиентскую логику. Как ни странно - это два очень мощных инструмента, позволяющих не городить огород из вьюх и layout. Определитесь с архитектурой приложения. Вы говорите - куча страниц, получается у вас куча методов контроллеров или куча контроллеров? Или вы программной логикой подменяете вьюхи? Откуда взялась куча страниц? Возможно что весь этот зоопарк надо группировать в сложные View содержащие PartialView, основанные на витиеватых моделях. Если у вас много контроллеров - то возможно пора включать регионы и под них клепать сообственные layout в рамках логики региона.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы