web-dev-qa-db-fra.com

Solution pour: L'élément <élément> n'est pas un avertissement d'élément connu dans vs2008 lors de l'utilisation de contrôles utilisateur

J'avais un projet VS2008 qui affichait cet avertissement et je ne pouvais trouver de solution nulle part - peut-être que mon google-fu est faible.

Dans tous les cas, la solution apparente consiste à s'assurer que TagName est le nom de la classe de contrôle.

Donc pour mon exemple, ce qui suit a affiché l'avertissement:

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

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

Mais le changer pour:

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

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

le corrige. 

YMMV.

15
chris

Cela ressemble à une reconstruction classique de votre solution et au problème de "fermeture et réouverture de Visual Studio".

Il est possible que cela soit également lié à un problème similaire auquel j’ai répondu à l’emplacement Résolution de l'avertissement "Validation (): l'élément‘ xxxx ’n’est pas pris en charge" dans Visual Studio 2005/2008 .

25
Jason Snelders

Cela peut également se produire si l'élément que vous essayez d'ajouter se trouve dans les balises d'un autre élément dans lequel il ne devrait pas figurer.

Par exemple:

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

Ou dans mon cas, placer un <asp:Repeater> dans un <asp:UpdatePanel> et oublier de le mettre dans le <ContentTemplate>:

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

        </asp:Repeater>
    </ContentTemplate>
</asp:UpdatePanel>
11
Jerreck

Apparemment, cela peut également se produire si le nom de l'espace de noms dans le fichier .ascx ne correspond pas à celui du fichier ascx.cs (codebehind). Encore une question à vérifier. 

5
Glade Mellor

Vérifiez que vous êtes peut-être sur ContentPlaceHolderID = "MainContent" sur Asp.net, alors placez le code sur un nouvel espace réservé

0
user6667793