2011-02-09 4 views
2

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

Могу ли я использовать 2 разных темы на основе главной страницы?

+1

Можете ли вы объяснить «на основе главной страницы?». Вы не можете установить тему на главной странице. – XtremeBytes

ответ

7

MSDN есть статья о ASP.NET Master Pages And Themes

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

Однако темы применяются к мастер страниц в этих условиях:

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

  • Если веб-сайт в целом настроен использовать тему, в том числе определение темы на страницах элемента Элемент (схема параметров ASP.NET).

В дополнение к выше, вы можете увидеть в разделе о Themes and Skins. Вы можете change theme programmatically

Пример из 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 для указать папку , Для получения дополнительной информации см. Настройка конкретных файлов и Подкаталоги.

+0

Вы знаете, можете ли вы использовать '' в web.config в подкаталоге? Если это так, вы можете отделить его таким образом. – Greg

+0

@Greg, я обновил свой ответ. –

+0

Это отличный ответ! – Greg

Смежные вопросы