尝试在Visual Studio 2010中构建网站项目时,我收到以下错误:
因为它是在web.config中注册的,所以页面“/WebSite/controls/C2.ascx”不能使用用户控件’/WebSite/controls/C1.ascx’,并且与页面保持在同一个目录中。
我有2个网页用户控件:
controls/C1.ascx controls/C2.ascx
控件已在web.config中注册:
<configuration> <system.web> <pages> <controls> <add src="~/controls/C1.ascx" tagPrefix="my" tagName="C1"/> <add src="~/controls/C2.ascx" tagPrefix="my" tagName="C2"/> </controls> </pages> </system.web> </configuration>
C1.ascx只包含静态HTML,C2.ascx正试图包含C1:
C1.ascx只包含一些简单的静态简单的HTML。 C2.ascx正试图包含C1.ascx:
<%@ Control Language="VB" %> <my:C1 runat="server" /> <p>Hello from C2</p>
当尝试构建项目时,我收到错误消息在顶部。我意识到这个问题可以通过向C2.ascx添加另一个Register指令来修复…:
<%@ Register Src="~/controls/C1.ascx" TagPrefix="ctl" TagName="C1" %>
…但我想知道是否有一个更清洁的解决方案,为什么我得到的错误在第一位?
谢谢!