пользовательские элементы управления - это форма пользовательского элемента управления, которая предоставляет вам визуальный дизайнер. Они идеально подходят для использования, когда вы хотите использовать повторно используемый элемент управления на одном веб-сайте. (Можно создавать и упаковывать пользовательские элементы управления в виде отдельных сборок, но это выходит за рамки этого вопроса, и я знаю, что он задавался на SO).
Пользовательский элемент управления обычно используется для ссылки на веб-элемент управления или составной элемент управления, который является специализированной формой веб-элемента управления. Эти элементы управления не имеют дизайнера и, как правило, реализуются в отдельных проектах на вашем веб-сайте, что позволяет повторно использовать их на многих сайтах.
Теперь ваш второй вопрос, ASCX и ASPX - это две разные вещи. ASCX - это расширение для пользовательского элемента управления, где ASPX - это страница ASP.Net. Вы не можете использовать ASCX сам по себе, он должен быть помещен на ASPX или главную страницу.
Один из способов использования пользовательских элементов управления - это, например, очень сложная страница с 7 вкладками, 5 из которых имеют сетки, из которых три являются идентичными. Что я могу сделать, так это создать отдельный пользовательский элемент управления для содержимого вкладок, теперь это значительно сокращает объем кода, который мне нужен (поскольку три сетки идентичны, за исключением данных).
Более того, он позволяет множеству работать над различными частями страницы и помогает мне все делать прямо, так как я уменьшаю сложность страницы. Вы не используете пользовательские элементы управления вместо страниц, вы используете их вместе со страницей.
Редактировать
Вы не используете ascx вместо aspx. Вы используете ascx для дополнения. Например, на моем сайте каждая страница имеет одинаковый нижний колонтитул, но я не хочу, чтобы каждая страница получалась из одной главной страницы. Я могу создать свой нижний колонтитул как элемент управления acsx и поместить его на каждую из моих главных страниц.
Другой пример, у меня есть форма, которая позволяет пользователю вводить три разных диапазона дат. (А у нас есть другие формы). Поэтому я добавил логику для включения кнопки календаря и текстового поля, которое при нажатии открывает календарь в пользовательском элементе управления. Затем я могу повторно использовать этот пользовательский элемент управления на всех моих страницах aspx.