это не совсем так. Веб-контроль подобен кнопке, и вы можете создать для нее конструктор, чтобы он отображался в режиме конструктора.
Основным отличием является то, что веб-управление является атомной единицей. Он должен работать так же, как и все остальные серверные элементы управления по умолчанию, которые есть в Visual Studio (включая режим конструктора). Кроме того, он полностью построен в коде и хранится в DLL (т. Е. Нет html-стороны и ничего не публикуется на веб-сайте).
Хотя пользовательский элемент управления является .NET-версией ASP Include. Есть фрагмент HTML с соответствующей страницей кода. Есть файл ASCX, который выкладывается на сайт во время публикации. Кроме того, их проще разрабатывать, чем серверные элементы управления.
Один лучше другого? Это зависит от цели. Но в целом, если вы создаете что-то для других людей / проектов, используйте веб-контроль. Если вы создаете что-то для собственного проекта, используйте пользовательский элемент управления.
Теперь, что касается JS, это сложнее описать, и оно требует довольно большого обсуждения само по себе. Для серверных элементов управления вам нужно будет предоставить хуки для JS, чтобы получить идентификатор клиента для каждого из внутренних элементов управления. Пока пользовательский элемент управления, вы можете кодировать JS непосредственно в пользовательском элементе управления и получать доступ к элементам управления так же, как на странице ASPX.