- •Лекція 1 Вступ. Огляд парадигм та платформ для Web-розробки. Платформа asp.Net. Інструменти та інтегроване середовище розробки Visual Web Developer 2010.
- •1.1 Вступ. Поняття Інтернет. Базові концепції Всесвітньої павутини www. Еволюція Web
- •1.1.1 Поняття Інтернет
- •1.1.2 Базові концепції Всесвітньої павутини www
- •1.1.3 Еволюція Web
- •1.2 Огляд парадигм та платформ для Web-розробки
- •1.2.2 Найбільш поширені мови та технології розробки
- •1.3 Платформа asp.Net
- •1.3.1 Розвиток asp.Net
- •1.3.2 Ключові переваги asp.Net mvc
- •1.4 Інструменти та інтегроване середовище розробки Visual Web Developer 2010
- •1.4.3 Додаткові компоненти
- •1.4.4 Отримання допоміжної інформації від розробників
- •1 Анатомія html-документа
- •2 Текст
- •3 Гіперпосилання
- •4 Форматовані списки
- •5 Таблиці
- •6 Каскадні таблиці стилів
- •Лекція 3 Синтаксичні конструкції мови c#.
- •3.1Зв’язок між c# I .Net. Особливості платформи .Net
- •3.1.1 Загальномовне виконуюче середовище
- •3.1.2 Класи .Net Framework
- •3.1.3 Простори імен .Net
- •3.2Синтаксичні особливості c#
- •3.2.2 Визначені типи даних
- •3.2.3 Керування потоком виконання
- •3.2.4 Перерахування
- •3.2.5 Простори імен
- •3.2.6 Метод Main (). Консольний ввід-вивід. Коментарі.
- •3.3Об’єкти і типи
- •3.3.1 Класи
- •3.3.2 Структури
- •3.4Наслідування
- •3.4.1 Типи наслідування
- •3.4.2 Модифікатори доступу
- •3.4.3 Інтерфейси
- •3.5Узагальнення
- •3.6Операції
- •1 Колекції
- •2 Делегати
- •Лекція №5 Елементи керування на сторінках asp.Net
- •1. Структура web-додатку на основі asp.Net
- •2. Керування станом в asp.Net
- •3. Серверні елементи керування на сторінках asp.Net
- •3.1 Серверні веб-елементи управління
- •4. Сценарії обробки запитів
- •5. Життєвий цикл сторінки asp.Net
3.1 Серверні веб-елементи управління
Всі серверні веб-елементи управління використовуються в наступному вигляді:
<asp:ім’яЕлемента runat="server" атрибут="значення"> Вміст </аsр:ім’яЕлемента>
У цьому коді ім’яЕлемента - це ім'я серверного елемента керування ASP.NET, атрибут="значення"- одна або більше специфікацій атрибутів, а Вміст являє собою вміст елемента, якщо такий є. Деякі елементи управління дозволяють встановлювати властивості, використовуючи атрибути і вміст.
Оскільки синтаксис елементів управління заснований на XML (хоча елементи можуть вбудовуватися і в код, відмінний від XML, такий як HTML), буде помилкою пропускати закриваючий дескриптор /> для порожніх елементів або перекривати елементи.
В серверних веб-елементах управління також присутній атрибут runat="Server". Це настільки ж важливо тут, як і в будь-якому іншому місці, і пропуск цього атрибуту - поширена помилка. Якщо її допустити, Web Forms працювати не буде.
Як і з Windows Forms, тут є повний доступ до властивостей, подій і т.п. у вікні Properties (Властивості), а також постійний відгук в коді або у візуальному конструкторі - де б не відбувалися зміни. Будь-які додані серверні елементи управління автоматично стають частиною об'єктної моделі створюваної форми.
Щоб змусити це додаток що-небудь робити, треба додати обробник подій. Можна або ввести ім'я методу у вікні властивостей елементу, або просто двічі клацнути по елементу, щоб отримати обробник події за замовчуванням. Наприклад, подвійне клацання по кнопці автоматично додає метод-обробник події наступного вигляду:
protected void triggerButton_Click (object sender, EventArgs e) { }
Стандартні серверні веб-елементи управління
Майже всі серверні веб-елементи управління (в категорії Standard і інших категоріях) успадковані від класу System.Web.UI.WebControls. WebControl, який, у свою чергу, успадковується від System.Web.UI.Control. Ті, що не використовують цього успадкування, походять безпосередньо від Control або від більш спеціалізованого базового класу, який в кінцевому підсумку успадкований від Control. В результаті серверні веб-елементи управління мають багато спільних властивостей і подій, якими можна при необхідності користуватися. Деякі елементи можуть містити в собі інші елементи управління, утворюючи ієрархію елементів управління на сторінці. Для доступу до елементів, що містяться усередині заданого елемента, можна скористатися його властивістю Controls або звернутися до елементу-контейнеру через властивість Parent.
У табл. 5.1 описані стандартні серверні веб-елементи управління.
Елемент управління |
Опис |
Label |
Призначений для відображення простого тексту; використовуйте властивість Text для встановлення і програмної модифікації відображуваного тексту. |
TextBox |
Представляє текстове поле, у якому користувач може редагувати текст. Використовуйте властивість Text для доступу до даних, що вводяться, і подію Textchanged для виконання дій по обробці змін при зворотній відправці. Якщо потрібна автоматична зворотна відправка (на противагу використанню кнопки), встановіть властивість AutoPostBack в true. |
Button |
Додає стандартну кнопку, на якій може клацати користувач. Використовуйте властивість Text для доступу до тексту на кнопці і подію Click для реагування на події (зворотна відправка на сервер є автоматичною). Можна також застосовувати подія Command для реагування на клацання, що забезпечить доступ до додаткових властивостей CommandName та CommandArgument. |
LinkButton |
Ідентичний Button, але відображає кнопку як гіперпосилання. |
ImageButton |
Відображає зображення, що виглядає як кнопка, що натискається. Властивості та події успадковані від Button і Image. |
HyperLink |
Додає гіперпосилання HTML. Призначення посилання встановлюється у властивості NavigateUtl, а текст для відображення - у властивості Text. Можна також використовувати ImageUrl для вказівки зображення для посилання і Target, щоб задати цільове вікно браузера. Цей елемент керування не має нестандартних подій, тому якщо потрібна додаткова обробка при слідуванні по посиланню, необхідно застосовувати елемент LinkButon. |
DynamicHyperLink |
Використовується для візуалізації гіперпосилання HTML на зумовлене місце розташування всередині веб-сайту з динамічним вмістом. |
DropDownList |
Дозволяє користувачеві вибирати один елемент зі списку, або вибираючи його безпосередньо зі списку, або вводячи першу букву або дві. Використовуйте властивість items для встановлення списку елементів (це клас ListltemCollection, що містить об'єкти Listltem) і властивості Selectedltem і Selectedlndex для визначення того, що вибрано. Подія SelectedlndexChanged може застосовуватися для визначення зміни вибору, і цей елемент керування також має властивість AutoPostBack, так що зміна вибору ініціює операцію зворотної відправки. |
ListBox |
Дозволяє користувачеві вибирати один або більше елементів у списку. Встановлення властивості SelectionMode в Multiple або Single вказує можливість вибору одного або більше елементів одночасно, а властивість Rows визначає кількість елементів для відображення. Інші властивості та події - такі ж, що і в DropDownList. |
CheckBox |
Відображає прапорець, який може бути відзначений. Стан зберігається в булівській властивості Checked, а текст, асоційований з прапорцем - у властивості Text. Властивість AutoPostBack може використовуватися для ініціалізації автоматичної зворотної відправки, а властивість CheckedChanged - для реалізації дій при змінах. |
CheckBoxList |
Створює групу прапорців. Властивості та події ідентичні іншим обліковим елементам управління, таким як DropDownList. |
RadioButton |
Відображає перемикач, який може бути включений або відключений. Зазвичай перемикачі об'єднуються в групи, так що тільки в кожен момент часу активним є лише один з них. Використовуйте властивість GroupName для об'єднання елементів управління RadioButton в групу. Інші властивості та події - такі ж, як у CheckBox. |
RadioButtonList |
Створює групу перемикачів, з яких у кожен момент часу може бути вибраний тільки один. Властивості та події - такі ж, як в інших списочних елементах управління, на зразок DropDownList. |
Image |
Показує графічне зображення. Використовуйте imageUrl для посилання на зображення, a AlternateText для представлення тексту, якщо неможливо завантажити зображення. |
ІmageMap |
Подібний image, але дозволяє вказати певні дії на випадок, якщо користувач клацне на одній або більше "гарячих точок" на зображенні. Дією, яка має бути виконана, може бути або зворотна відправка, або перенаправлення на інший URL "Гарячі точки" застосовуються вбудованими елементами управління, успадкованими від HotSpot, такими як RectangleHotSpot і CircleHotSpot. |
Table |
Представляє таблицю. Використовуйте цей елемент з TableRow і TableCell під час проектування або програмно привласнюйте рядки через властивість Rows типу TableRowCollection. Цю властивість можна також використовувати для модифікацій під час виконання. Елемент керування Table має кілька властивостей стилізації, унікальних для таблиць. |
BulletedList |
Форматує набір елементів у вигляді списку з позначками. На відміну від інших облікових елементів управління, BulietedList підтримує подію Click, яку можна використовувати для визначення елемента, де було здійснене клацання користувачем під час зворотної відправки. Інші властивості і події - ті ж, що і у DropDownList. |
HiddenField |
Використовується для створення прихованого поля, що зберігає не відображувані значення, які необхідні по тій або іншій причині. Це може дуже придатися для зберігання налаштувань, які в іншому випадку зажадали б альтернативних механізмів зберігання. Для доступу до значень, що зберігаються, служить властивість Value. |
Literal |
Виконує ті ж функції, що і Label, але не має властивостей стилізації, тому що успадковується від Control, а неWebControl. У властивості Text задається текст для відображення цим елементом управління. |
Calendar |
Дозволяє користувачеві вибирати дату з відображуваного графічного календаря. Цей елемент керування має безліч властивостей, пов'язаних зі стилями, але найважливіша функціональність доступна через властивості SelectedDate і VisibleDate (типу System.DateTime), за допомогою яких виходить дата, обрана користувачем, і відображуваний місяць для відображення (який завжди буде містити visibleData). Ключова подія, яку тут потрібно обробляти - це SelectionChanged. Зворотня відправка з цього елемента управління здійснюється автоматично. |
AdRotator |
Показує кілька зображень послідовно, змінюючи їх після кожного обміну з сервером. Використовуйте властивість AdvertisementFile для специфікації файлу XML, що описує можливі зображення, і подія AdCreated для виконання обробки перед кожною зворотною відправкою зображення. За допомогою властивості Target можна вказувати ім'я вікна, яке повинно відкриватися по клацанню на зображенні. |
FileUpload |
Цей елемент управління надає користувачеві текстове поле і кнопку Browse (Огляд) для вибору файлу, що завантажується. За допомогою властивості HasFile можна визначити, чи був вибраний файл, і потім викликати метод SaveAs() з відділеного коду для виконання власне завантаження. |
Wizard |
Розширений елемент управління типу майстра, який полегшує рішення розповсюдженого завдання - послідовне надання набору сторінок для введення користувацьких даних. До майстру можна додавати кроки, які представляються користувачеві послідовно або непослідовно, і покладатися на цей елемент керування в підтримці стану і т.п. |
Xml |
Більш складний елемент керування для відображення тексту, використовуваний для виведення XML-вмісту, який може бути трансформовано із застосуванням таблиці стилів XSLT. Вміст XML встановлюється за допомогою однієї з властивостей Document, DocumentConent або DocumentSource (залежно від формату вихідного XML) і (додаткової) таблиці стилів XSLT у властивості Transform або TransformSource. |
MultiView |
Елемент керування, який містить в собі один або більше елементів view, причому тільки один view візуалізується в одиницю часу. Поточне відображуване відображення задається за допомогою ActiveViewIndex, і можна виявляти його за подією ActiveViewChanged. |
Panel |
Додає контейнер для інших елементів управління. Для опису організації вмісту можна використовувати HorizontalAlign і Wrap. |
PlaceHolder |
Цей елемент управління не візуалізує ніякого висновку, але може придатися для групування інших елементів управління разом або для додавання елементів програмно в задане місце розташування. Елементи, що містяться тут, можуть бути доступні через властивість Controls. |
View |
Контейнер для елементів управління, багато в чому подібний PlaceHolder, але призначений для використання в якості дочірнього елемента MultiView. Для того щоб дізнатися, чи відображається певний елемент View, служить властивість Visible. За допомогою подій Activate і Deactivate можна виявляти зміни в стані активізації. |
Substitution |
Вказує розділ веб-сторінки, яка не кешується разом з іншим виводом. |
Localize |
У точності схожий на елемент Literal, але підтримує локалізацію тексту з використанням ресурсів проекту для вказівки тексту, який повинен відображатися для різних локалей. |
Серверні веб-елементи управління даними.
Серверні веб-елементи управління, що працюють з даними, діляться на три типи.
Елементи керування джерелами даних - SqlDataSource, AccessDataSource, LinqDataSource, EntityDataSource, ObjectDataSource, XmlDataSource і SiteMapDataSource.
Елементи керування відображенням даних - GridView, DataList, DetailsView, FormView, ListView, Repeater і DataPager.
Елементи керування динамічними даними - DynamicControl і DynamicDataManager.
Зазвичай на сторінці розміщують один із (невізуальних) елементів управління джерелами даних, щоб зв'язатися з джерелом даних, а потім додають елементи управління відображенням даних, які прив'язуються до елементів управління джерелами для візуалізації даних. Деякі з найбільш розвинених елементів відображення даних, на зразок GridView, також дозволяють редагувати дані.
Всі елементи управління джерелами даних наслідуються або від System.Web.UI. DataSource, або від System.Web.UI.HierarchicalDataSource. Ці класи пропонують такі методи, як GetView() або GetHierarchicalView() для забезпечення доступу до внутрішніх представлень даних і засобів обгорток.
