我是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>
部分?
答案 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.