Опубликован: 13.07.2010 | Уровень: специалист | Доступ: платный
Самостоятельная работа 3:

Управление HTML-элементами в ASP.NET

Аннотация: Элементы управления HTML и WEB: HTMLAnchor, HTMLButton, HTMLImage, HTMLInputButton, HTMLInputCheckBox, HTMLInputFile, HTMLInputHidden, HTMLInputImage, HTMLInputRadioButton, HTMLInputText, HTMLSelect, HTMLTable, HTMLTableRow, HTMLTableCell, HTMLTextArea. Программирование тегов класса HtmlGenericControl. Визуальный способ проектирования страницы представления. Подготовка HTML-кода в редакторе Dreamweaver. Программирование функциональности страницы ASP.NET.
Ключевые слова: HTML, пассивный, ASP, net, C, элементы управления, Web, инструментарий, запрос, управление данными, серверные элементы управления, объект, графическая среда, Visual Studio .Net, Toolbox, Windows, код программы, standard, атрибут, html-редактор, элементы управления HTML, тег, www-броузер, Solution Explorer, компилятор, директива, resource, активный объект, html-форма, отправка данных, сервер, reset, separate, файл, CLR, промежуточный язык, MSIL, машинный язык, кэш, IIS, back, history, идентификатор, параметр, attribute, folder, PNG, EXISTS, пользователь, POST, SOAP, права доступа, представление, load, вывод, ID, активный, класс, IntelliSense, имя объекта, всплывающая подсказка, checkbox, browsing, диалоговое окно, OPEN, путь, поле, temp, hidden, диспетчер, оболочка, form, submit, outliner, дерево, дескриптор, меню, synchronize, локализация, захват, custom, dialog, editor, позиционирование, horizontal, rule, компонент, внешнее представление, этапы проектирования, переключатель, radio, программирование, управляемый код, mx/s, кодировка, insertion, tagged, chooser, generality, sheet, область действия, цвет фона, таблица, color, TMP, HTM, ReadOnly, layout, Position, change-over, WebControl, метод класса, clearing, IndexOf, remove, заголовочный столбец, css, таблица стилей, значение, textarea, поле ввода

Файлы к лабораторной работе Вы можете скачать здесь.

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

Элементы управления HTML и Web

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

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

  1. HTML-элементы пользовательского интерфейса
  2. Web-элементы пользовательского интерфейса
  3. Элементы управления контроля и управления данными (невизуальные)
  4. Элементы управления соединением и др. (невизуальные)

В этой работе мы познакомимся с серверными HTML-элементами управления. В библиотеке .NET Framework все пользовательские (интерфейсные) серверные элементы управления наследуют (являются наследниками) классу System.Web.UI.Control, а значит обладают рядом общих свойств и методов, определяющих их поведение.

Элемент управления - это программный объект, отображаемый средой выполнения как часть графического элемента пользователя. Имея графическую среду разработки Visual Studio .NET, можно создавать Web-страницу, просто перетаскивая на нее элементы управления из панели Toolbox.

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

Почти все элементы свитка HTML панели Toolbox дублируются элементами свитка Standard. Для чего? Для приемственности кода и сохранения привычек разработчиков, создающих Web-страницы еще до появления ASP.NET. Управлять такими элементами программно на языке C# (самостоятельная часть CodeBehind страницы) станет возможным, если к описывающим их тегам вручную добавлять атрибут runat="server". такая технология обеспечит сохранение возможности для HTML-элементов вначале применять привычные инструменты при разработки Web-страниц, например, HTML-редактор Dreamweaver, а затем готовые блоки кода переносить на ASP.NET-страницы.

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

Классы всех элементов управления HTML являются производными от System.Web.UI.HTMLControls.HTMLControl и находятся в пространстве имен System.Web.UI.HtmlControls. Любой HTML-тег можно превратить в элемент управления, добавив атрибут runat="server". Так мы сообщаем ASP.NET-процессору сервера, что код должен быть обработан им перед отправкой страницы на броузер пользователя. Разработчику, приспосабливающему обычные HTML-элементы управления в серверные необходимо помнить некоторые правила:

  1. Строго соблюдать правило вложенности тегов, устраняя все пересечения блоков.
  2. Добавлять в управляемые теги атрибут runat="server" или runat=server
  3. Вместо дублирующего атрибута name использовать id

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

Создание заготовки проекта ASP.NET

  • Создайте новый проект C# приложения ASP.NET в выбранном месте и задайте ему имя HTMLControls

После нажатия кнопки OK мастер создаст заготовку ASP.NET-приложения.

Александр Очеретяный
Александр Очеретяный
Украина, Киев
Анастасия Балыбердина
Анастасия Балыбердина
Украина, Киев, НТУУ КПИ