При использовании WebForms соответствующее место, чтобы назначить мастер-страницы на страницу динамически кажется страницы PreInit событие:Динамически назначая мастер-страниц с использованием MVC
this.Master.MasterPageFile = "~/leaf.Master"
Если nessasary, мастер-страницы в иерархии вложенных мастер-страниц может быть установлены здесь:
this.Master.MasterPageFile = "~/leaf.Master"
this.Master.Master.MasterPageFile = "~/root.Master"
использования фреймворки можно задать одно имя главной страницы динамически с помощью контроллеров Vi метод, передавая masterName, но как установить другой мастер-страницу часа в иерархии?
Обновление
Извините, но я не был чист.
По иерархии я подразумеваю цепочку вложенных мастер-страниц, так как я могу установить самую верхнюю главную страницу в цепочке вложенных мастер-страниц?
Например, у нас есть такая настройка, что разные типы клиентов имеют разные мастер-страницы и вложенные в эту главную страницу являются дополнительной главной страницей для определенных пользовательских ролей. Нам необходимо динамически установить корневой клиентский мастер, а также мастер роли.
Контроллеры не устанавливают мастер-страницы напрямую, так как они никогда не имеют прямого доступа к представлению. – 2008-10-20 16:00:45