Как настроить главную страницу динамически?


У меня есть требование, в котором я хочу установить разные главные страницы для одной и той же страницы в зависимости от пользователя (т.е. Для одного пользователя он должен установить одну главную страницу, а для другого пользователя он должен установить другой мастер). Можем ли мы установить разные мастер-страницы для любой страницы динамически? Пожалуйста, помогите...

Ответ 1

void Page_PreInit(Object sender, EventArgs e)
{
    this.MasterPageFile = "~/MyMaster.master";
}

Объяснение: Динамическую страницу главной страницы можно добавить на страницу содержимого. Поскольку главная страница и страница контента объединяются на этапе инициализации обработки страницы, перед этим должна быть назначена главная страница. Обычно вы назначаете основную страницу динамически во время этапа PreInit.

Ответ 3

Вы можете, установив свойство MasterPageFile страницы. Однако это вызовет InvalidOperationException, если он вызывается после события PreInit. Ознакомьтесь с жизненным циклом страницы ASP.NET

Свойство MasterPageFile может быть установлено только в событии PreInit; попытка установить свойство MasterPageFile после события PreInit вызовет исключение InvalidOperationException. Если свойство MasterPageFile недопустимо, исключение типа HttpException генерируется позже в жизненном цикле страницы, но не генерируется исключение, когда свойство установлено в событии PreInit.