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

Я хочу динамически назначить одну главную страницу для чистого файла aspx. Кто-нибудь может сказать мне, как это сделать?


person Developer404    schedule 09.10.2009    source источник


Ответы (2)


Вы можете переопределить OnPreInit в файле default.aspx.cs и установить главную страницу на основе некоторого значения в строке запроса. Что-то вроде этого:

protected override void OnPreInit(EventArgs e)
    {
        base.OnPreInit(e);
        if (Request.QueryString["Master"] == "Simple")
            MasterPageFile = "~/Masterpages/Simple.Master";
    }

РЕДАКТИРОВАТЬ: причина вашего сообщения об ошибке может быть покрыта этот вопрос.

person davek    schedule 09.10.2009
comment
Элементы управления содержимым должны быть элементами управления верхнего уровня на странице содержимого или вложенной главной странице, которая ссылается на главную страницу. Да ... Я уже использовал это .. Но я получил это сообщение об ошибке выше .. Не могу его открыть - person Developer404; 09.10.2009
comment
Я уже пробовал это, но при возникновении возникает следующее сообщение об ошибке: Элементы управления содержимым должны быть элементами управления верхнего уровня на странице содержимого или вложенной главной странице, которая ссылается на главную страницу. System.Web.HttpException: элементы управления содержимым должны быть элементами управления верхнего уровня на странице содержимого или вложенной главной странице, которая ссылается на главную страницу. - person Developer404; 09.10.2009

Я оставил ContentPlaceholder, чтобы добавить его ... На самом деле, я попытался назначить главную страницу без использования ContentPlaceHolder ... Теперь я понял, что по крайней мере один ContentPlaceholder должен быть там временно, даже если мы будем динамически изменять главную страницу ...

person Developer404    schedule 09.10.2009