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


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


person Amol Kolekar    schedule 07.06.2012    source источник
comment
возможный дубликат Программной установки главной страницы главной страницы   -  person Tim Schmelter    schedule 07.06.2012


Ответы (3)


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

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

person Kapil Khandelwal    schedule 07.06.2012

Обратите внимание на эту статью в MSDN:

http://msdn.microsoft.com/en-us/library/c8y19k6h.aspx

void Page_PreInit(Object sender, EventArgs e)
{
    this.MasterPageFile = "~/NewMaster.master";
}
person Joshua    schedule 07.06.2012

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

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

person Connell    schedule 07.06.2012