Элемент <element>не является известным предупреждением элемента в Visual Studio при использовании пользовательских элементов управления - PullRequest
17 голосов
/ 29 января 2009

У меня был проект VS2008, который показывал это предупреждение, и я нигде не мог найти решение.

Элемент не является известным элементом предупреждения в vs2008 при использовании пользовательских элементов управления

Как я могу это исправить?

Ответы [ 6 ]

25 голосов
/ 25 сентября 2009

Это звучит как классическая перестройка вашего решения и проблема «закрыть и снова открыть Visual Studio».

Возможно, это также может быть связано с аналогичной проблемой, на которую я ответил в Решение «Проверка (): элемент« xxxx »не поддерживается» в Visual Studio 2005/2008 .

12 голосов
/ 22 января 2016

Это также может произойти, если элемент, который вы пытаетесь добавить, находится внутри тегов другого элемента, который не должен быть внутри.

Например:

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

Или, в моем случае, поместив <asp:Repeater> в <asp:UpdatePanel> и забыв положить его в <ContentTemplate>:

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

        </asp:Repeater>
    </ContentTemplate>
</asp:UpdatePanel>
4 голосов
/ 16 сентября 2010

Очевидно, это также может произойти, если имя пространства имен в файле .ascx не совпадает с пространством имен в файле ascx.cs (codebehind). Еще одна проблема, чтобы проверить.

0 голосов
/ 30 мая 2019

Из ОП:

Очевидное решение этой проблемы - убедиться, что 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" />

исправляет это.

0 голосов
/ 17 января 2017

Это может произойти, если чего-то не хватает в вашем файле web.config. Я просто столкнулся с этой ошибкой при копировании пользовательского элемента управления из одного решения в другое, и страница все еще не могла найти элемент. Если ничего из перечисленного не решает проблему, проверьте этот раздел web.config и убедитесь, что ваш элемент управления включен:

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

После добавления, а затем закрытия / повторного открытия решения проблема исчезла.

0 голосов
/ 02 августа 2016

Проверьте, что вы можете быть на ContentPlaceHolderID = "MainContent" на Asp.net, поэтому поместите код в новый заполнитель

...