为什么我只能在ASP.NET web.config文件中声明一个<page>?</page>

时间:2011-08-28 16:25:48

标签: asp.net web-config asp.net-4.0

我是ASP.NET新手,只是从Beginning ASP.NET 4 in C# and 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 个答案:

答案 0 :(得分:1)

<pages>节点是指您网站中的所有页面,因此您只能拥有其中一个。 theme属性为此处的所有网页设置默认主题。您不必为不同的主题注册控件两次。

您可以为不同的区域设置不同的主题,但不是您尝试这样做的方式。

阅读How to: Apply ASP.NET Themes

  

Web.config文件中的主题设置适用于该应用程序中的所有ASP.NET网页。 Web.config文件中的主题设置遵循常规配置层次结构约定。例如,要将主题仅应用于页面的子集,可以将页面放在具有自己的Web.config文件的文件夹中,或者在根Web.config文件中创建一个元素以指定文件夹。有关详细信息,请参阅Configuring Specific Files and Subdirectories.