我正在試圖建立網站項目在Visual Studio 2010時,下面的錯誤:ASP.NET錯誤:頁面Y.ascx不能使用用戶控制X.ascx
頁「/網址/controls/C2.ascx'無法使用用戶控件'/WebSite/controls/C1.ascx',因爲它在web.config中註冊並與頁面位於同一目錄中。
我有2個Web用戶控件:
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 Src="~/controls/C1.ascx" TagPrefix="ctl" TagName="C1" %>
...但我不知道是否有一個清晰的解決方案,爲什麼會收到錯誤在第一地點?
謝謝!
[在與頁面相同的文件夾中使用用戶控件]可能的重複(http://stackoverflow.com/questions/2964337/use-user-control-in-the-same-folder-as-the-page ) – M4N
爲什麼<%@ Register ...%>被認爲是「不潔淨」?似乎與在.cs文件頂部使用語句沒有什麼不同。 – mikemanne
只有當控件已經在web.config中爲每個頁面或Web用戶控件註冊時,纔會認爲這是不正確的,這是我的情況。 – michalstanko