ASP.NET несколько тем на одном сайте - PullRequest
2 голосов
/ 10 февраля 2011

У меня есть каталог App_Themes, а также главные страницы для веб-сайта ASP.NET.

Можно ли использовать 2 разные темы на основе мастер-страницы?

1 Ответ

6 голосов
/ 10 февраля 2011

В MSDN есть статья о главных страницах и темах ASP.NET

Вы не можете напрямую применить ASP.NET тема на главной странице. Если вы добавите атрибут темы для @ Master директива, страница поднимет ошибка при запуске.

Тем не менее, темы применяются к мастеру страницы при следующих обстоятельствах:

  • Если тема определена в содержании стр. Главные страницы разрешаются в контекст содержимого страниц, поэтому Тема содержимого страницы применяется к главная страница.

  • Если сайт в целом настроен использовать тему, включая тему определение на страницах Элемент (Схема настроек ASP.NET).

В дополнение к вышесказанному вы можете увидеть раздел о Темы и скины . Вы можете изменить тему программно

Пример из MSDN

protected void Page_PreInit(object sender, EventArgs e)
{
    switch (Request.QueryString["theme"])
    {
        case "Blue":
            Page.Theme = "BlueTheme";
            break;
        case "Pink":
            Page.Theme = "PinkTheme";
            break;
    }
}

Но вы не можете использовать две темы одновременно, это не имеет никакого смысла. Однако вы можете изменить тему в зависимости от используемой мастер-страницы.

Чтобы ответить на ваш вопрос в комментарии, да, у вас могут быть разные темы для разных подпапок. Это из MSDN:

Настройка темы в файле Web.config применяется ко всем веб-страницам ASP.NET в это приложение. Настройки темы в файл Web.config работает в обычном режиме Соглашения об иерархии конфигурации. Например, чтобы применить тему только к подмножество страниц, вы можете положить страницы в папке со своими Файл Web.config или создайте элемент в корневом файле Web.config для указать папку. Подробнее см. Конфигурирование определенных файлов и Подкаталоги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...