Общие сведения о серверных элементах управления ASP.NET

В этой статье описываются серверные элементы управления ASP.NET, такие как серверные элементы управления HTML, элементы управления веб-сервера, список и т. д.

Исходная версия продукта:   ASP.NET
Исходный номер статьи базы знаний:   306459

В этой статье рассматриваются следующие пространства имен библиотеки классов Microsoft .NET Framework:

  • System.Web.UI.HtmlControls.HtmlControl
  • System.Web.UI.WebControls.WebControl

Серверные элементы управления в инфраструктуре страниц ASP.NET

Структура страницы ASP.NET включает ряд встроенных серверных элементов управления, предназначенных для создания более структурированной модели программирования для Интернета. Эти элементы управления предоставляют следующие возможности:

  • Автоматическое управление состоянием.
  • Простой доступ к значениям объектов без необходимости использования Request объекта.
  • Возможность реагировать на события в коде на стороне сервера для создания более структурированных приложений.
  • Распространенный подход к созданию пользовательских интерфейсов для веб-страниц.
  • Выходные данные автоматически настраиваются в зависимости от возможностей браузера.

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

Серверные элементы управления HTML

Серверные HTML-элементы управления — это HTML-элементы, включающие runat=server атрибут. Серверные элементы управления HTML имеют один и тот же вывод HTML и те же свойства, что и соответствующие теги HTML. Кроме того, серверные элементы управления HTML предоставляют автоматические события управления состояниями и события на стороне сервера. Серверные элементы управления HTML имеют следующие преимущества:

  • Серверные HTML-элементы управления сопоставляют один к одному с соответствующими HTML-тегами.
  • При компиляции приложения ASP.NET серверные элементы управления HTML с runat=server атрибутом компилируются в сборку.
  • Большинство элементов управления включают OnServerEvent в себя наиболее часто используемое событие для элемента управления. Например, <input type=button> у элемента управления есть OnServerClick событие.
  • Теги HTML, которые не реализованы в виде определенных серверных элементов управления HTML, по-прежнему могут использоваться на стороне сервера; Тем не менее, они добавляются в сборку как HtmlGenericControl .
  • При перезаписи страницы ASP.NET элементы управления сервера HTML сохраняют их значения.

System.Web.UI.HtmlControls.HtmlControlБазовый класс содержит все общие свойства. Серверные элементы управления HTML являются производными от этого класса.

Чтобы использовать серверный HTML-элемент управления, используйте следующий синтаксис (пример использования HtmlInputText элемента управления):

<input type="text" value="hello world" runat=server />

Дополнительные сведения об отдельных серверных HTML-элементах управления, доступных в ASP.NET, можно найти на следующих веб-сайтах:

Серверные веб-элементы управления

Веб-элементы управления похожи на серверные элементы управления HTML, такие как Button, TextBox и Hyperlink, за исключением того, что веб-элементы управления имеют стандартизированный набор имен свойств. Серверные веб-элементы управления имеют следующие преимущества:

  • Упростите производителям и разработчикам создавать средства или приложения, автоматически создающие пользовательский интерфейс.
  • Упростите процесс создания интерактивных веб-форм, которые требуют меньше информации о том, как работают элементы управления HTML, и делать задачу их использования менее подверженными ошибкам.

System.Web.UI.WebControls.WebControlБазовый класс содержит все общие свойства. Большая часть элементов управления веб-сервера является производной от этого класса.

Чтобы использовать серверный веб-элемент управления, используйте следующий синтаксис (пример использования элемента управления TextBox):

<asp:textbox text="hello world" runat=server />

Серверные веб-элементы управления можно разделить на четыре категории:

  • Основные веб-элементы управления
  • Проверяющие элементы управления
  • Список элементов управления
  • Расширенные элементы управления

Основные веб-элементы управления

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

Дополнительные сведения об отдельных веб-элементах управления, доступных в ASP.NET, можно найти на следующих веб-сайтах:

Проверяющие элементы управления

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

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

Примечание

Клиентская проверка перехватывает ошибки до завершения операции обратной передачи. Таким образом, если у вас есть комбинации клиентских и серверных элементов управления проверкой на одной странице, проверка на стороне сервера будет прервана в случае сбоя клиентской проверки. Для получения дополнительных сведений об отдельных проверяющих элементах управления, доступных в ASP.NET, обратитесь к следующим веб-сайтам:

Список элементов управления

Элементы управления списком — это специальные веб-серверные элементы управления, поддерживающие привязку к коллекциям. Элементы управления списком можно использовать для отображения строк данных в настраиваемом формате шаблона. Все элементы управления списком предоставляют свойства DataSource и DataMember, которые используются для связывания с коллекциями.

Элементы управления списком можно привязывать только к коллекциям, поддерживающим интерфейсы IEnumerable, ICollection или Илистсаурце. Например, пример страницы Visual C# .NET выглядит следующим образом:

<%@ Page Language="C#" %>
<script runat="server">
    Public void Page_Load()
    {
        String[] myStringArray = new String[] {"one","two","three"};
        rptr.DataSource = myStringArray;
        rptr.DataBind();
    }
</script>
<html>
    <body>
        <asp:repeater id=rptr runat="server">
            <itemtemplate><%# Container.DataItem %><br></itemtemplate>
        </asp:repeater>
    </body>
</html>

Пример страницы Visual Basic .NET выглядит следующим образом:

<%@ Page Language="vb" %>
<script runat="server">
    public sub Page_Load()
        Dim myStringArray as String()
        myStringArray = new String() {"one","two","three"}
        rptr.DataSource = myStringArray
        rptr.DataBind()
    end sub
</script>
<html>
    <body>
        <asp:repeater id=rptr runat="server">
            <itemtemplate><%# Container.DataItem %><br></itemtemplate>
        </asp:repeater>
    </body>
</html>

Результат выглядит следующим образом:

  • one
  • two
  • three

Дополнительные сведения об отдельных элементах управления списком, доступных в ASP.NET, можно найти на следующих веб-сайтах:

Расширенные элементы управления

В дополнение к предыдущим элементам управления в ASP.NET Page Framework представлено несколько элементов управления с определенными задачами, называемых богатыми элементами управления. Расширенные элементы управления строятся с помощью нескольких HTML-элементов и содержат обширные функциональные возможности. Примерами расширенных элементов управления являются элемент управления Calendar и элемент управления AdRotator.

Дополнительные сведения об отдельных полнофункциональных элементах управления, доступных в ASP.NET, можно найти на следующих веб-сайтах:

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

Часто может потребоваться повторно использовать пользовательский интерфейс веб-формы, не требуя написания какого-либо дополнительного кода. ASP.NET позволяет преобразовать веб-формы в пользовательские элементы управления. Пользовательские элементы управления с расширением ASCX можно использовать несколько раз в одной веб-форме.

Чтобы преобразовать веб-форму в пользовательский элемент управления, выполните указанные ниже действия.

  1. Удалите все <html> , <head> , <body> и <form> теги.
  2. Если @ Page директива отображается на странице, измените ее на @ Control .
  3. Включите className атрибут в @ Control директиву, чтобы пользовательский элемент управления был строго типизирован при создании экземпляра.
  4. Присвойте элементу управления имя файла с описанием и измените расширение файла с ASPX на ASCX.

Дополнительные сведения о пользовательских элементах управления представлены в разделе пользовательские элементы управления веб-форм.

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

Кроме встроенных веб-элементов управления, ASP.NET также позволяет создавать собственные пользовательские элементы управления. Разработка пользовательских элементов управления может быть полезна, если вы столкнулись с одним из следующих сценариев:

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

Дополнительные сведения о разработке настраиваемых элементов управления приведены в следующих разделах: