2009-03-12 5 views
3

У меня есть набор UserControls на веб-сайте ASP.NET, который я хотел бы разделить на несколько веб-сайтов. Но кажется, что мы не можем создать в нем библиотеку классов с UserControls с ascx-файлом. Хотя MSDN предлагает создать веб-элемент управления, я скорее найду способ совместного использования существующих элементов управления, а не уничтожения их для создания новых веб-элементов управления.Как сделать usercontrol доступным для нескольких проектов?

Есть ли способ создать библиотеку UserControls?

Благодаря

ответ

8

Вот один из способов сделать это:

Creating and Using User Control Libraries.

+0

я сделал что-то похожее на это, за исключением с дополнительным шагом с помощью мастера веб-развертывания компилировать весь код в DLL, который может загружаться потребителем. Тем не менее, тот же принцип. – MarcE

2

Вы не можете собрать их в проект по существу. Вы можете получить что-то близкое к этому, связав файлы с проектом, чтобы была одна основная версия файла, но каждый проект также имеет свою собственную копию. Вы можете:

  • Использование функции совместного управления источником иметь одно место и поделиться им в другие проекты
  • Создать один проект для управления, а затем связать их в другой проект с помощью «Добавить существующий элемент» , щелкнув маленькую стрелку рядом с кнопкой «Добавить» и выбрав «Добавить как ссылку».
+0

Я не был уверен, что использование 'add as link' с пользовательскими элементами управления будет работать, но это действительно так! – BornToCode

+0

@BornToCode и Chris, помимо добавления в качестве ссылки вам нужен еще один шаг? Asp.net не может найти элемент управления во время выполнения и его нет в каталоге нового проекта. – Gilles

+0

@ Gilles - попробуйте щелкнуть F4 в проводнике решений по добавленной ссылке и изменить копию для вывода настроек каталога для копирования всегда. – BornToCode

2

Вместо этого вы должны использовать элемент управления Composite. Вот сравнение между элементами управления веб-пользователей и составных элементов управления:

http://msdn.microsoft.com/en-us/library/aa719735(VS.71).aspx

Смежные вопросы