В официальной документации есть сравнение: Составной элемент управления и пользовательский элемент управления
Я бы пошел на составной элемент управления, если планирую предлагать элементы управления другим разработчикам, например сторонним разработчикам.контролирует продавцы.Затем я бы добавил возможности конструктора к этим элементам управления.
Но, если я просто хочу разработать элементы управления, выполняющие пользовательские функции в проекте, тогда пользовательские элементы управления легче писать и требуют меньше внутренних знаний ASP.NET..
Примечание : книга Котари очень хороша и должна читаться при разработке составных элементов управления, но этого недостаточно.Поскольку это книга ASP.NET 1.1, в ней нет упоминания об очень важных понятиях, появившихся в ASP.NET 2: понятиях DataBoundControl
против DataSourceControl
.Все пользовательские элементы управления ASP.NET, появившиеся начиная с .NET 2+, такие как FormView / GridView / DetailsView и ObjectDataSource, SqlDataSource и т. Д., Построены на этих фундаментальных концепциях, которые вообще не рассматриваются в книге.К сожалению, книга никогда не обновлялась, и я не знаю других книг, которые объясняют это достаточно подробно.