Что-то, что я делал раньше, было создание пользовательского класса страницы (на самом деле, я делаю эту часть в каждом проекте), который наследует каждая страница ASP.NET.
Этот класс страниц содержит свойство IsAdmin.
Затем я делю подклассы часто используемых элементов управления, которые могут или не могут быть видны между режимами, в пользовательские элементы управления и добавляю код для проверки свойства Pages IsAdmin.
Все это может быть час работы, но если вы создаете страницы с использованием этих элементов управления, они автоматически управляют своим режимом.
Еще один забавный совет, позволяющий сэкономить время, - это если вам нужно перелистывать страницу из режима только для чтения. Я добавил свойство в основной базовый класс, а затем добавил пользовательский элемент управления, который отображает текстовое поле в одном режиме и метку в другом.
Опять же, немного времени на компоненты, но затем вы можете создать версию страницы только для чтения в 2 строки кода ... Очень того стоит.