- •Федеральное агентство по образованию
- •Таганрогский государственный радиотехнический университет
- •Программирование в Интернет
- •Лекция 1. Введение в Web-программирование
- •Принцип работы Web-приложений
- •Обзор известных средств программирования для Internet
- •Первое решение: cgi
- •Преимущества cgi
- •Недостатки cgi
- •Второе решение: isapi-интерфейс
- •Преимущества isapi
- •Недостатки isapi
- •Третье решение: asp
- •Преимущества asp
- •Недостатки asp
- •Лекция 2. Введение в php
- •Что такое рнр?
- •Архитектура рнр
- •Первая программа на php
- •Взаимодействие html и php
- •Лекция 3. Типы данных php
- •Комментарии
- •Логические переменные
- •Синтаксис логических переменных
- •Приведение значений к логическому типу
- •Целые числа
- •Синтаксис целочисленных переменных
- •Целочисленное переполнение
- •Приведение к целочисленному типу
- •Вещественные числа
- •Константы
- •Преобразование строк
- •Лекция 4. Переменные
- •Изменение типа переменной
- •Преобразование типа переменной
- •Операторы и выражения
- •Оператор присваивания
- •Арифметические операторы
- •Оператор конкатенации
- •Дополнительные операторы присваивания
- •Операторы сравнения
- •Логические операторы
- •Увеличение или уменьшение целой переменной
- •Порядок вычисления операторов
- •Динамические переменные
- •Ссылки на переменные
- •Лекция 5. Инструкция if
- •Блок else инструкции if
- •Блок elseif инструкции if
- •Инструкция switch
- •Оператор ?
- •Цикл while
- •Цикл do... While
- •Цикл for
- •Прерывание циклов инструкцией break
- •Пропуск итераций с помощью инструкции continue
- •Лекция 6. Функции
- •Аргументы функции
- •Аргументы по умолчанию
- •Область видимости переменных
- •Лекция 7. Краткий обзор .Net Framework
- •Промежуточный язык Microsoft Intermediate Language
- •Компиляция “Just In Time”
- •Управляемый код и данные
- •Лекция 8. Создание приложений Web Forms Файлы проекта Web Forms
- •Файлы Web-приложения
- •Обработка событий События жизненного цикла Web-приложения
- •Сохранение данных Web-формы
- •Visual Basic .Net
- •Visual c#
- •События Application и Session
- •Visual Basic .Net
- •Visual c#
- •События Web-формы
- •Visual Basic .Net
- •Visual c#
- •События серверных элементов управления
- •Visual Baste .Net
- •Visual c#
- •Лекция 9. Работа с Web-объектами Введение в пространство имен
- •Пространства имен в Web-приложениях Обзор пространства имен Web
- •Visual Basic .Net
- •Visual c#
- •Использование объекта Application
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Page
- •Visual Basic
- •Visual с#
- •Использование объекта Request
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Response
- •Visual Baste .Net
- •Visual c#
- •Лекция 10. Сохранение сведений о состоянии Способы сохранения сведений о состоянии
- •Использование строк запросов
- •Visual Basic .Net
- •Visual c#
- •Использование переменных состояния Application и Session
- •Упорядочение доступа к переменным состояния
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Отключение переменных состояния Session
- •Лекция 11. Web-элементы управления. Использование элементов управления.
- •Простые элементы управления
- •Элементы управления Label
- •Элементы управления HyperLink
- •Элементы управления Image
- •Элементы управления CheckBox
- •Элементы управления RadioButton
- •Элементы управления Table
- •Элементы управления DropDownList
- •Элементы управления ListBox
- •Элементы управления CheckBoxList
- •Элементы управления RadioButtonList
- •Лекция 12. Проверяющие элементы управления
- •Использование проверяющих элементов управления
- •RequiredFieldValidator
- •RangeValidator
- •CompareValidator
- •RegularExpression Validator
- •CustomValidator
- •ValidationSummary
- •Отмена проверки вводимых данных
- •Лекция 13. Введение в Web-сервисы Обзор Web-сервисов xml
- •Инфраструктура Web-сервисов xml
- •Взаимодействие клиентов и Web-сервисов xml
- •Лекция 14. Механизм обнаружения Web-сервисов xml
- •Использование Web-сервисов xml
- •Добавление Web-ссылки
- •Генерация класса прокси
- •Создание объекта класса прокси
- •Доступ к Web-сервису xml через объект прокси
- •Сериализация
- •Лекция 15. Управление Web-методами при помощи атрибутов Атрибуты Web-метода
- •Буферизация откликов Web-метода
- •Visual c#
- •Пользовательские маркеры
- •Подписи
- •Шифрование
- •Лекция 17. Модель безопасности asp.Net
- •Лекция 18. Введение в инфраструктуру Microsoft .Net Remoting
- •Объекты .Net Remoting
- •Передача объектов по механизму .Net Remoting
- •Пример кода для простого серверного объекта .Net Remoting
- •Срок жизни, определяемый арендой
- •Channel Services (System.Runtime.Remoting.Channels)
- •Пример кода, загружающего Channel Services
- •Форматирующие объекты сериализации (System.Runtime.Serialization.Formatters)
Лекция 11. Web-элементы управления. Использование элементов управления.
Для того чтобы упорядочить Web-элементы управления, разделим их на категории:
“простые” элементы управления, являющиеся обертками обычных тэгов элементов управления HTML;
кнопки;
списки, отображающие простые списки элементов;
элементы управления, связанные с данными;
календари;
проверяющие элементы управления.
Простые элементы управления
TextBox – это эквивалент HTML-тэга <input type=”text/password”> или <textarea>. Оператор:
<asp:TextBox ID=”UserName” RunAt=”server” />
создает на Web-форме поле ввода текста и назначает ему программный идентификатор “UserName”. Свойство Text можно использовать для декларативного добавления текста в TextBox, а так же для чтения и изменения этого текста из серверного сценария:
<asp:TextBox ID=”UserName” Text=”Привет” RunAt=”server” />
Считывание содержимого элемента управления TextBox осуществляется с помощью следующего сценария:
string name = UserName.Text;
Свойства Rows и Columns устанавливают размеры TextBox, задавая число строк и столбцов, которые в нем могут отображаться. MaxLength ограничивает максимальное число символов, которые могут быть введены в TextBox. Свойство Wrap управляет активизацией режима переноса строк в многострочном TextBox. Атрибут TextMode принимает ряд значений: SingleLine, MultiLine и Password.
Следующий оператор создает поле ввода пароля с именем Password:
<asp:TextBox ID=”Password” TextMode=”Password” RunAt=”server” />
Чтобы создать многострочное поле ввода, необходимо установить TextMode в MultiLine, а в Rows записать число строк:
<asp:TextBox ID=”Comments” TextMode=”MultiLine” Rows=”10” RunAt=”server” />
Атрибут Rows игнорируется, если TextMode явно не установлено в MultiLine.
В зависимости от значения свойства TextMode TextBox представляет себя в виде тэгов <input type=«text»>, <input type=«password»> или: <textarea>. Вот три тэга <asp:TextBox> и генерируемый ими HTML:
// До...
<asp:TextBox ID="UserName" RunAt="server" />
<asp:TextBox ID="Password" TextMode="Password" RunAt="seryer" />
<asp:TextBox ID="Comments" TextMode="MultiLine" Rows="10" RunAt="server" />
// После...
<input name="UserName" type="text" id="UserName" />
<input name="Password" type="password" id="Password" />
<textarea name="Comments" rows="10" id="Comments"x/textarea>
Если текст в поле TextBox изменился, то после возврата формы элемент управления генерирует событие TextChanged. Обработчик события задается атрибутом OnTextChanged тэга <asp:TextBox>:
<asp:TextBox ID="UserName" OnTextChanged="OnNameChanged" RunAt="server" />
<script language="C#" runat="server"> void OnNameChanged (Object sender, EventArgs e)
{
// Имя изменилось, считать его из TextBox.
string name = UserName.Text;
}
</script>
События TextChanged генерируются только при возврате формы на сервер. По умолчанию элементы управления TextBox сами не инициируют возвраты формы и, таким образом, генерируют событие TextChanged, только если возврат формы был вызван другим элементом управления. Если же установить свойство AutoPostBack элемента управления TextBox в true, то возвраты формы будут происходить (и событие TextChanged генерироваться) в момент изменения текста в поле ввода:
<asp:TextBox ID="UserName" OnTextChanged="OnNameChanged" AutoPostBack="true" RunAt="server" />
В отличие от полей ввода Windows, генерирующих уведомления EN_CHANGE в ответ на каждый символ, вводимый пользователем, элементы управления TextBox в режиме AutoPostBack генерируют события TextChanged только при потере фокуса ввода (т. е. в тот момент, когда пользователь переходит к другому элементу управления формы), происшедшей после изменения текста. В противном случае страница, выполняющая возврат формы при вводе каждого символа, работала бы очень медленно.
TextBox — не единственный Web-элемент управления, имеющий свойство AutoPostBack; его поддерживают также CbeckBox, RadioButton и некоторые другие элементы. Если AutoPostBack присутствует в списке свойств элемента управления, то установка его в true вызывает возврат формы (и генерацию событий) в момент изменения состояния элемента управления. В противном случае элементы управления не генерируют события, пока возврат формы не будет вызван каким-либо внешним фактором.