Почему я могу объявить только один <page>в файле ASP.NET web.config? - PullRequest
1 голос
/ 28 августа 2011

Я новичок в ASP.NET и только начинаю с Начиная с ASP.NET 4 в C # и VB .Я делаю упражнение на UserControl, и я застрял в UserConrols регистрации всего сайта, которые добавляют синтаксис регистрации в web.config, как показано ниже.

<pages theme="Monochrome">
  <controls>
    <add tagPrefix="Wrox" tagName="Banner" src="~/Controls/Banner.ascx" />
  </controls>
</pages>

После того, как я добавил этот раздел в web.config, все работает нормально, так какУ меня есть две темы на моем веб-сайте, поэтому я добавляю новый раздел для другой темы.

<pages theme="DarkGrey">
  <controls>
    <add tagPrefix="Wrox" tagName="Banner" src="~/Controls/Banner.ascx" />
  </controls>
</pages>

На этот раз я не могу скомпилировать свой сайт, мой пользовательский элемент управления не отображается во время разработки.Я хочу знать, почему у меня не может быть двух <page> секций?

1 Ответ

1 голос
/ 28 августа 2011

Узел <pages> относится к всем страницам на вашем веб-сайте, поэтому вы можете иметь только одну из них.Атрибут theme устанавливает тему по умолчанию для всех ваших страниц здесь.Вам не нужно регистрировать элемент управления дважды для разных тем.

Вы можете устанавливать разные темы для разных областей, но не так, как вы пытаетесь это сделать.

Чтение Практическое руководство. Применение тем ASP.NET :

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

...