wake-up-neo.net

Lösung für: Element <element> ist keine bekannte Elementwarnung in vs2008, wenn Benutzersteuerelemente verwendet werden

Ich hatte ein VS2008-Projekt, das diese Warnung anzeigt, und ich konnte nirgendwo eine Lösung finden - vielleicht ist mein Google-Fu schwach.

In jedem Fall besteht die offensichtliche Lösung darin, sicherzustellen, dass TagName der Name der Kontrollklasse ist.

In meinem Beispiel wurde folgende Warnung angezeigt:

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

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

Aber es zu ändern:

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

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

behebt es 

YMMV.

15
chris

Das klingt wie ein klassischer Neuaufbau Ihrer Lösung und das Problem "Schließen und erneutes Öffnen von Visual Studio".

Es ist möglich, dass dies auch auf ein ähnliches Problem zurückzuführen ist, das ich unter Auflösen von "Validation (): Das Element" xxxx "wird nicht unterstützt wird" in Visual Studio 2005/2008 .

25
Jason Snelders

Dies kann auch auftreten, wenn sich das Element, das Sie hinzufügen möchten, innerhalb der Tags eines anderen Elements befindet, in dem es sich nicht befinden sollte.

Zum Beispiel:

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

Oder in meinem Fall einen <asp:Repeater> in einen <asp:UpdatePanel> setzen und vergessen, es in den <ContentTemplate> zu legen:

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

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

Dies kann offensichtlich auch der Fall sein, wenn der Namespace-Name in der .ascx-Datei nicht mit dem Namespace in der Datei ascx.cs (codebehind) übereinstimmt. Nur noch ein weiteres Problem. 

5
Glade Mellor

Aus dem OP:

Die offensichtliche Lösung besteht darin, sicherzustellen, dass der TagName der Name der Kontrollklasse ist.

In meinem Beispiel wurde folgende Warnung angezeigt:

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

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

Aber ändere es in:

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

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

behebt es.

2
TylerH

Ich stellte fest, dass das Problem behoben war, als ich die Build-Aktion für die .ascx-Datei von "content" in "compile" änderte und sie anschließend zurück änderte.

0
Manfred Wippel

Überprüfen Sie, ob Sie sich möglicherweise auf ContentPlaceHolderID = "MainContent" auf Asp.net befinden. Platzieren Sie den Code daher auf einem neuen Platzhalter

0
user6667793