Я получаю ошибку ниже при попытке создания проекта веб-сайта в Visual Studio 2010:
Страница '/WebSite/controls/C2.ascx' не может использовать пользовательский элемент управления /WebSite/controls/C 1.ascx, поскольку он зарегистрирован в web.config и живет в том же каталоге, что и стр.
У меня есть два пользовательских веб-элемента управления:
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>
При попытке создания проекта я получаю сообщение об ошибке вверху. Я понимаю, что эту проблему можно устранить, добавив еще одну директиву Register в C2.ascx...:
<%@ Register Src="~/controls/C1.ascx" TagPrefix="ctl" TagName="C1" %>
... но мне интересно, есть ли более чистые решения и почему я получаю ошибку в первую очередь?
Спасибо!