2009-01-29 62 views
14

我有一個VS2008項目顯示此警告,並且我無法在任何地方找到解決方案 - 也許我的谷歌搜索功能很弱。解決方案:在使用用戶控件時,元素<element>在vs2008中不是已知元素警告

在任何情況下,明顯的解決辦法是確保TagName是控件類的名稱。

所以我的例子,下面顯示的警告:

<%@ Register Src="~/path/to/Control.ascx" TagName="tagName" TagPrefix="tagprefix" %> 

<tagprefix:tagName runat="server" id="controlID" />

但將其更改爲:

<%@ Register Src="~/path/to/Control.ascx" TagName="Control" TagPrefix="tagprefix" %> 

<tagprefix:Control runat="server" id="controlID" />

修復它。

YMMV。

回答

3

顯然,如果.ascx文件中的名稱空間名稱與ascx.cs(代碼隱藏)文件中的名稱空間不匹配,也會發生這種情況。還有一個問題需要檢查。

9

如果您嘗試添加的元素位於不應位於其他元素的標記內,也會發生這種情況。

例如:

<asp:Button ID="button" runat="server" > 
    <asp:Repeater ID="repeater" runat="server"></asp:Repeater> 
</asp:Button> 

或者對於我來說,在<asp:UpdatePanel>放置<asp:Repeater>和忘記把它放在<ContentTemplate>

<asp:UpdatePanel ID="upPanel" runat="server"> 
    <ContentTemplate> 
     <asp:Repeater ID="rep" runat="server"> 

     </asp:Repeater> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+1

這是我的問題與我的單選按鈕列表 – abiNerd 2016-02-04 11:53:08

0

檢查你可能會在ContentPlaceHolderID =「搜索Maincontent 「在Asp.net上,所以將代碼放在一個新的佔位符上

-1

如果web.con中缺少某些內容,可能會發生這種情況無花果也是。我在將一個自定義控件從一個解決方案複製到另一個解決方案時遇到了此錯誤,並且該頁面仍然無法找到該元素。如果沒有上述解決問題,檢查web.config中的這一部分,並確保您的控制包括:

<controls> 
    <add tagPrefix="fu" namespace="Fubar.Base" assembly="Fubar" /> 
    ... 
</controls> 

加入這個,然後關閉/重新打開該解決方案後,問題消失。

相關問題