Есть два типа структурных элементов для композиции, которые может определить пользователь:
- User Control
- Custom Control
User Control — это часть разметки, выделенная в отдельный ascx файл. Создание и редактирование такого контрола очень похоже на создание обычных веб-страниц. Рендеринг такого контрола требует наличия ascx файла на диске. Эти контролы как туалетная бумага — не подлежат повторному использованию между проектами. Единственная возможность — скопировать файл в другой проект.
Custom Control — это класс, унаследованный от Control
или WebControl
. Такой вариант идеально подходит для повторного использования, потому что контрол является обычным классом, который может быть размещен в любой сборке. Но теряется возможность редактирования в редакторе VS.
Выводы. Если нужно повторное использование и расположение контрола в другой сборке, то лучше создать Custom Control. User Control все-таки можно расположить в другой сборке, но это требует долгих танцев с бубном.