Otrzymuję błąd poniżej podczas próby budowania projektu strony internetowej w Visual Studio 2010:błąd ASP.NET: Strona Y.ascx nie można używać kontrolę użytkownika X.ascx
strona „/ WebSite /controls/C2.ascx "nie może używać kontrolki użytkownika" /WebSite/controls/C1.ascx ", ponieważ jest zarejestrowany w pliku web.config i znajduje się w tym samym katalogu, co strona.
mam 2 formanty użytkownika web:
controls/C1.ascx
controls/C2.ascx
kontrole zostały zarejestrowane w pliku 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 zawiera tylko statyczny HTML, C2.ascx stara Aby dołączyć C1:
C1.ascx zawiera tylko zwykły statyczny prosty HTML. C2.ascx próbuje zawierać C1.ascx:
<%@ Control Language="VB" %>
<my:C1 runat="server" />
<p>Hello from C2</p>
Podczas próby budowania projektu, otrzymuję komunikat o błędzie na szczycie. Zdaję sobie sprawę, problem ten można rozwiązać dodając kolejną dyrektywę zarejestruj aby C2.ascx ...:
<%@ Register Src="~/controls/C1.ascx" TagPrefix="ctl" TagName="C1" %>
... ale zastanawiam się, czy jest czystsze rozwiązanie i dlaczego otrzymuję błąd w pierwszym miejsce?
Dzięki!
możliwe duplikat [użytku kontrolą użytkownika w tym samym folderze strony] (http://stackoverflow.com/questions/2964337/use-user-control-in-the-same-folder-as-the-page) – M4N
Czy istnieje powód, dla którego <% @ Register ...%> jest uważany za "nieczysty"? Wydaje się nie różni się od konieczności używając stwierdzenia u góry pliku .cs. – mikemanne
Uważa się, że jest nieczysty tylko wtedy, gdy kontrola jest już zarejestrowana w pliku web.config dla każdej strony lub kontrolki internetowej, co jest moim przypadkiem. – michalstanko