Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy
Модуль 4: Добавление кода к веб-форме Microsoft ASP.NET Создание страниц с выделенным кодом Добавление процедур обработки событий к серверным элементам управления Веб Обработка событий на странице
Урок: Реализация страниц с выделенным кодом Методы осуществления кода Написание вложенного кода Что такое страница с выделенным кодом ? Как работают страницы с выделенным кодом
Методы осуществления Кода Три метода добавления кода : Добавьте код в тот же файл, что и содержание (смешанный) Добавьте код в отдельный от содержания раздел файла (встроенный код) Добавьте код в отдельный файл (страницы с выделенным кодом ) Страницы с выделенным кодом являются страницами по умолчанию в Visual Studio 2008
Написание Встроенного Кода Код и содержание в одном файле Разные разделы в файле для кода и HTML [Visual C#] private void Button1_Click(object sender, System.EventArgs e) { } [Visual C#] private void Button1_Click(object sender, System.EventArgs e) { } [Visual Basic] Sub Button1_Click(ByVal s As Object, ByVal e As _ EventArgs) Handles Button1.Click End Sub [Visual Basic] Sub Button1_Click(ByVal s As Object, ByVal e As _ EventArgs) Handles Button1.Click End Sub
Что такое страница с выделенным кодом ? Отделение кода от содержания Разработчики и дизайнеры пользовательского интерфейса могут работать независимо Form1.aspxForm1.aspx Form1.aspx.cs Form1.aspx.cs или Form1.aspx.vb код код Разные файлыОдин файл
public partial class _Default : System.Web.UI.Page { private void Button1_Click() {... } public partial class _Default : System.Web.UI.Page { private void Button1_Click() {... } Как работают Страницы с выделенным кодом Создайте отдельные файлы для пользовательского интерфейса и логического интерфейса Используйте Page для связи двух файлов Файл с кодом Потомки Атрибут AutoEventWireup Прекомпиляция или JIT-компиляция Default.aspx Default.aspx.cs
Урок: Добавления процедур обработки событий к серверным элеменам управления Веб Что такое Процедура обработки событий? Клиентские процедуры обработки событий Серверные процедуры обработки событий Мультимедия: Клиентские или серверные события Создание Процедур обработки событий Демонстрация: Создание Процедуры обработки событий Взаимодействие с элементами управления в Процедурах обработки событий
Что такое Процедура обработки событий? Действие по отношению к взаимодействию пользователя с элементами управления на странице
Клиентские процедуры обработки событий Internet Осуществляются только для элементов управления HTML Распознаются браузером и запускаются на клиенте Нет доступа к ресурсам сервера Используют Internet Клиент.HTM страницы
Серверные процедуры обработки событий Осуществляются и для серверных элементов управления Веб и HTML Компилируются и запускаются на сервере Имеет доступ к ресурсам сервера Используют или Internet Сервер.ASPX страницы
Мультимедия: Клиентские или серверные события Клиент Сервер
Создание Процедур обработки событий Visual Studio 2008 создает шаблон процедуры обработки событий [Visual Basic] Private Sub Button1_Click(ByVal s As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click End Sub [Visual Basic] Private Sub Button1_Click(ByVal s As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click End Sub [Visual C#] private void Button1_Click(object s, System.EventArgs e) { } [Visual C#] private void Button1_Click(object s, System.EventArgs e) { } Примечание: Visual Basic использует ключевое слово Handles для того, чтобы вы могли добавить несколько Процедур обработки событий к одному событию
Демонстрация: Создание Процедуры обработки событий Создайте Веб-форму с помощью Visual Studio 2008 Добавьте элементы управления к Веб-форме Добавьте Процедуру обработки событий по щелчку Просмотрите страницу
Страница примечаний. Не печатайте слайд. Смотрите заметки к слайду.
Взаимодействие с элементами управления в Процедуре обработки событий Прочитайте свойства серверных элементов управления Веб Выходные данные к другим серверным элементам управления Веб [Visual C#] greetingString = "Hello " & nameTextBox.Text; [Visual C#] greetingString = "Hello " & nameTextBox.Text; [Visual Basic] greetingString = "Hello " + nameTextBox.Text; [Visual Basic] greetingString = "Hello " + nameTextBox.Text; [Visual C#] greetingLabel.Text = "new text"; [Visual C#] greetingLabel.Text = "new text"; [Visual Basic] greetingLabel.Text = "new text" [Visual Basic] greetingLabel.Text = "new text"
Урок: Обработка событий на странице Жизненный цикл события страницы Мультимедия: Процесс обратной связи Демонстрация: Обработка событий Обработка Событий Page.IsPostback Соединение двух элементов управления Демонстрация: Соединение двух элементов управления
Цикл события на странице События управления Событие изменения Событие действия Textbox1_Changed Page_PreInit Button1_Click Page_Load Page_PreLoad Page_Init Page_Unload Страница удаляется
Мультимедиа: Процесс обратной связи Клиент Сервер
Демонстрация: Обработка событий Просмотрите страницу Измените флажок на серверные элементы управления Веб Осуществите тестирование Page.IsPostBack
Страница примечаний. Не печатайте слайд. Смотрите заметки к слайду.
Обработка событий Page.IsPostback Page_Load появляется на каждый запрос Используйте Page.IsPostBack для выполнения условной логики Page.IsPostBack предотвращает перегрузку для каждого сеанса обратной связи [Visual Basic] Protected Sub Page_Load(ByVal s As System.Object, _ ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then End If End Sub [Visual Basic] Protected Sub Page_Load(ByVal s As System.Object, _ ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then End If End Sub [Visual C#] protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { } [Visual C#] protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { }
Соединение двух элементов управления Соединение двух элементов управления полезно для принятия значения из списков или раскрывающихся списков Привязка данных [Visual Basic] Protected Sub Page_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Load selectedValueLabel.DataBind() End Sub [Visual Basic] Protected Sub Page_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Load selectedValueLabel.DataBind() End Sub [Visual C#] protected void Page_Load(object sender, EventArgs e) { selectedValueLabel.DataBind(); } [Visual C#] protected void Page_Load(object sender, EventArgs e) { selectedValueLabel.DataBind(); }
Демонстрация: Объединение элементов управления Просмотрите элементы управления Создайте ярлык для элемента управления ListBox Создайте привязку данные к ярлыку Создайте и просмотрите
Страница примечаний. Не печатайте слайд. Смотрите заметки к слайду.
Лабораторная работа: Добавление функциональных элементов к веб-приложению Упражнение 1: Создание Процедуру обрабботки событий Page_Load Упражнение 2: Создайте Процедуру обработки событий по щелчку Упражнение 3: (Если позволяет время): Внедрение компонентов в пользовательском контроле Вход в систему Виртуальная машина 2310C-LON-DEV-04 Имя пользователя Student Пароль Pa$$w0rd Продолжительность: 45 минут
Сценарий лабораторной работы Медицинские medical.aspx Домашняя Страница Преимущества Default.aspx Домашняя Страница Преимущества Default.aspx Страхование life.aspx Пенсионные retirement.aspx Стоматологам dental.aspx Врачи doctors.aspx Вход в систему login.aspx Вход в систему login.aspx Регистрация register.aspx Регистрация register.aspx Проспект prospectus.aspx XML Веб-сервис DentalService1.asmx Заголовок страницы header.ascx Веб-приложение Пользовательский контроль nameDate.ascx Пользовательский контроль nameDate.ascx Компонент Меню Benefits.cs or Benefits.vb Главная страница benefitsMaster.master LINQ к SQL классы Doctors.dbml ASPState Стомато логи Врачи XML Files Web. config TempDB
Обзор лабораторной работы Вопросы для самоконтроля Как вы можете запустить код если веб-страница загружается в первый раз? Где процедуры обработки событий элементов управления возникают в цикле собития страницы? Какова процедура по умолчанию событием для общего контроля? Как вы можете добавлять элементы в список в режиме разработчика?
Обзор модуля и выводы Вопросы для самоконтроля Реальные проблемы и сценарии Успешные практики