Пользовательские элементы управления ASP.Net и пользовательские элементы управления: одинаковы ли они? - PullRequest
5 голосов
/ 23 марта 2009

Если они разные, при каких обстоятельствах мы должны решить использовать любой из этих подходов?

Кроме того, в чем преимущество ascx перед aspx?

Ответы [ 3 ]

9 голосов
/ 23 марта 2009

пользовательские элементы управления - это форма пользовательского элемента управления, которая предоставляет вам визуальный дизайнер. Они идеально подходят для использования, когда вы хотите использовать повторно используемый элемент управления на одном веб-сайте. (Можно создавать и упаковывать пользовательские элементы управления в виде отдельных сборок, но это выходит за рамки этого вопроса, и я знаю, что он задавался на SO).

Пользовательский элемент управления обычно используется для ссылки на веб-элемент управления или составной элемент управления, который является специализированной формой веб-элемента управления. Эти элементы управления не имеют дизайнера и, как правило, реализуются в отдельных проектах на вашем веб-сайте, что позволяет повторно использовать их на многих сайтах.

Теперь ваш второй вопрос, ASCX и ASPX - это две разные вещи. ASCX - это расширение для пользовательского элемента управления, где ASPX - это страница ASP.Net. Вы не можете использовать ASCX сам по себе, он должен быть помещен на ASPX или главную страницу.

Один из способов использования пользовательских элементов управления - это, например, очень сложная страница с 7 вкладками, 5 из которых имеют сетки, из которых три являются идентичными. Что я могу сделать, так это создать отдельный пользовательский элемент управления для содержимого вкладок, теперь это значительно сокращает объем кода, который мне нужен (поскольку три сетки идентичны, за исключением данных).

Более того, он позволяет множеству работать над различными частями страницы и помогает мне все делать прямо, так как я уменьшаю сложность страницы. Вы не используете пользовательские элементы управления вместо страниц, вы используете их вместе со страницей.

Редактировать

Вы не используете ascx вместо aspx. Вы используете ascx для дополнения. Например, на моем сайте каждая страница имеет одинаковый нижний колонтитул, но я не хочу, чтобы каждая страница получалась из одной главной страницы. Я могу создать свой нижний колонтитул как элемент управления acsx и поместить его на каждую из моих главных страниц.

Другой пример, у меня есть форма, которая позволяет пользователю вводить три разных диапазона дат. (А у нас есть другие формы). Поэтому я добавил логику для включения кнопки календаря и текстового поля, которое при нажатии открывает календарь в пользовательском элементе управления. Затем я могу повторно использовать этот пользовательский элемент управления на всех моих страницах aspx.

5 голосов
/ 23 марта 2009

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

Пользовательские элементы управления сделать проще, и в целом это способ инкапсулировать вещи для упрощения других страниц или когда вам нужно использовать одну и ту же разметку на нескольких страницах.

Преимущество элементов управления над обычными ASPX-страницами состоит в том, что вам нужно сделать только некоторую часть разметки (не всю страницу)

3 голосов
/ 23 марта 2009

Пользовательские элементы управления / Составные элементы управления

Пользовательские элементы управления, которые состоят из других ASP.Net или пользовательских элементов управления. Они обычно довольно просты и могут быть созданы довольно быстро. Как правило, они не являются общими для всех проектов, однако есть некоторые приемы , которые могут позволить вам сделать это.

Пользовательские элементы управления

Пользовательские элементы управления - это элементы управления, которые реализуют пользовательский интерфейс путем создания всего, от вывода HTML до поддержки времени разработки. Пользовательские элементы управления занимают намного больше времени. Вы должны использовать либо Web.UI.Control, либо наследовать от подчиненного элемента управления (например, Textbox). Пользовательские элементы управления компилируются в двоичный формат, чтобы их было легче распространять. Поскольку они скомпилированы, на них можно ссылаться из панели инструментов в Visual Studio.

Существует 2 основных преимущества использования элемента управления на странице aspx. Инкапсуляция логики и возможность повторного использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...