нарушает принцип сохранения бизнес-логики вне поля зрения
Это не бизнес-логика. Это логика представления, когда вы определяете, отображать что-то или нет. Это нормально, чтобы иметь его там.
Вы можете принять решение, отображать что-то или нет, и установить несколько флагов в модели (например, вы можете создать BaseModel или MasterModel). Тогда ваши основные представления, сами частичные представления или помощники HTML выполнят условный рендеринг на основе этих флагов.
Что касается четкого разделения интересов, да, веб-формы, казалось бы, могли это сделать, но это была довольно большая абстракция основных механизмов. Часто это приводит к тому, что бизнес-логика находится в выделенном фрагменте кода, то есть на уровне представления, где бизнес-логика принадлежит не больше, чем принадлежит представлениям.