Я бы сказал, что представление не должно содержать много программ (или вообще ничего). Идея использования АОП (или а-ля АОП) в местах, где Р запрещен, выглядит не очень хорошо.
Давайте спроектируем это по-другому. Обычно представления имеют некоторые управляющие ключевые слова для выполнения основных задач: условий и циклов. Больше интеллекта, и я бы сказал, что вы смешиваете роль диспетчера.
Итак, if (user.CanSeeSomeData)
вы положите туда, если это на самом деле простой флаг. Так должно быть.
Когда вы строили объект вида модели (контейнер, в который вы помещаете информацию для вида). Вы могли бы использовать AOP для инициализации / установки этой информации, например, с хорошим атрибутом в этом свойстве.
Вы можете запросить атрибуты вместо "ifs"
[UserCanSeeData]
<%=Html.TextBox("MyTextBox") %>
Это похоже на синтаксический сахар, а не на настоящий АОП. Любая попытка сказать, что UserCanSeeData должна иметь больше, чем if (например, доступ к базе данных для проверки привилегий пользователя), является попыткой переместить код контроллера в представление.