Навігація
Головна
 
Головна arrow Інформатика arrow Проектування і розробка web-додатків
< Попередня   ЗМІСТ   Наступна >

ПРОГРАМНИЙ КОД ПРИКЛАДУ ПРОСТИЙ WEB-ФОРМИ

Програмний код для прикладу шаблона (рис. 4.2) показаний на рис. 4.4. У ньому описаний клас Default, похідний від базового класу System.Web.UI.Page, в який автоматично (в самому програмному коді це не вказується) включені змінні відповідні серверних ЕУ форми. Як імена цих змінних використовується значення атрибутів id елементів управління. В даному прикладі створюються такі змінні: TextBox TextBoxI; Button Buttonl; Label Labell.

Програмний код прикладу web-форми

Мал. 4.4. Програмний код прикладу web-форми

Для цих змінних прісвіваются посилання на об'єкти відповідних їм ЕУ, і з їх допомогою можна працювати з включеними в форму ЕУ.

Створений похідний клас в основному містить методи, які викликаються при виникненні різних подій, пов'язаних з формою в цілому (наприклад, метод Page_Load () викликається при виникненні події "завантаження форми") або пов'язаних з включеними в форму серверними елементами управління (наприклад, метод Button1_Click викликається при виникненні події "натискання кнопки").

Такий програмний код web-форми виповнюється середовищем виконання ASP.Net.

ПОРЯДОК ОБРОБКИ ЗАПИТІВ ДО WEB-ФОРМІ

При нервом зверненні користувачів до шаблону форми (якщо вона була створена у вигляді сайту) вона перетворюється в DLL-файл, який містить клас, описаний в програмному коді. Так як даний клас є похідним від класу Раді, то він включає метод RenderControl (), який формує HTML-сторінку відповіді. При виклику даного методу всі HTML-елементи шаблону форми виводяться в сторінку відповіді за допомогою методів виведення Write (), а для всіх серверних ЕУ викликаються наявні у них методи RenderControl (), за допомогою яких вони записують в HTML-відповідь відповідний їм HTML-код (це може бути або просто HTML-елемент, або HTML-розмітка і JavaScript-сценарій, який буде виконуватися в браузері користувача). Приклад сформованої таким чином HTML-сторінки показаний на рис. 4.5.

HTML-код, який передається браузеру користувача

Мал. 4.5. HTML-код, який передається браузеру користувача

Як видно на даному малюнку, всі серверні ЕУ записали замість себе певний HTML-код. Наприклад, замість asp: TextBox записаний елемент типу <input type = "text ...>; замість asp: Button записаний елемент типу <input type = "submit" ...>, а замість asp: Label немає нічого, так він не показується (у нього заданий атрибут Visible-'False ").

Крім цього, в даний HTML-код включені два прихованих поля VIEWSTATE і EVENTVALIDATION. Значення цих полів не використовуються браузером при роботі з даною сторінкою, а при зворотному відправці на сервер знову відсилаються web-додатком.

Приховане поле VIEWSTATE містить (в атрибуті value) стану елементів управління перед відправкою результату обробки запиту користувачу (у всіх ЕУ є методи отримання і збереження своїх станів в цьому полі) і стан уявлення ViewState. Стану елементів використовуються для визначення виникаючих на стороні браузера подій при роботі користувачів з ЕУ (наприклад, Click або SelectedIndexChanged), а стан подання є однією з можливостей збереження стану роботи користувача (додатково до можливостей об'єкта Session).

Приховане поле EVENTVALIDATION є методом забезпечення безпеки, яка запобігає можливість спеціальної відправки клієнтом зловмисних запитів. При обробці запиту проводиться порівняння змісту запиту зі значенням атрибута value поля EVENTVALIDATION на предмет відсутності додаткових полів, доданих на стороні клієнта, а також виконується контроль вибору значення з відомого на сервері списку.

При роботі користувача з даної HTML-формою можуть виникати події, що викликають зворотну відправку (posthack) до тієї ж самої web-формі. Такі події зазвичай виникають при натисканні користувачем кнопки типу "submit" або при виконанні спеціального скрипта, що викликає таку дію (функція JavaScript - doPostBack ()).

Програмний код web-форми при отриманні зворотного запиту визначає (шляхом порівняння поточних значень елементів управління і значень, збережених в прихованому полі VIEWSTATE), які дії виконав користувач в браузері з HTML-формою (наприклад, змінив текст в елементі типу text або вибрав інший пункт option в елементі select і т. п.), і ініціює відповідні події (події зміни) для серверних елементів управління. Після обробки цих подій (якщо відповідні обробники включені в програмний код web-форми) формується нова HTML-сторінка, яка відправляється користувачу. І потім весь процес повторюється заново.

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

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук