Как добавить ссылку на серверный элемент управления на моем текущем веб-сайте в web.config

Я расширил серверный элемент управления (не пользовательский элемент управления) и поместил код в папку app_code. Я хотел бы добавить префикс тега в веб-конфигурацию, но

<add tagPrefix="cc1" namespace="mynamespace" />

а также

<add tagPrefix="cc1" namespace="mynamespace" assembly="currentwebsitename" />

не работает Я получаю эту ошибку: Ошибка 147 Неизвестный тег сервера 'cc1:Control'

2 ответа

Решение

Чтобы зарегистрировать серверные элементы управления, которые находятся в папке App_Code, вам нужны только префикс тега и пространство имен. Так что в web.config это будет выглядеть так...

<add tagPrefix="cc1" namespace="mynamespace"/>

И на странице это будет выглядеть так...

<%@ Register TagPrefix="cc1" Namespace="mynamespace" %>

Следует обратить внимание на то, что по умолчанию проекты веб-сайтов вообще не включают никакого пространства имен при добавлении нового элемента в папку App_Code, поэтому вам необходимо явно убедиться, что у ваших элементов управления есть пространство имен.

Вам нужно либо поместить элемент управления в DLL с именем "currentwebsitename.dll" (если вы хотите, чтобы он работал вторым способом), либо указать источник через src атрибут (если вы хотите сделать это первым способом):

<add tagPrefix="cc1" namespace="mynamespace" src="app_code/control_name_here"/>

Попробуйте также прочитать эти две статьи:

http://msdn.microsoft.com/en-us/library/sbz9etab.aspx и

http://msdn.microsoft.com/en-us/library/yhzc935f.aspx

Другие вопросы по тегам