2009-01-29 67 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> 

加入这个,然后关闭/重新打开该解决方案后,问题消失。

相关问题