Разделы презентаций


Крос-платформне програмування Лекція 1 1 Користувацькі елементи керування

Содержание

Види власних елементів керуванняКористувацький ЕК (user control, UC) – невелика частина сторінки, яка може містити статичний HTML-код і серверні елементи керування Web Можуть багаторазово використовуватися на безлічі сторінок одного і того

Слайды и текст этой презентации

Слайд 1Крос-платформне програмування Лекція 11 Користувацькі елементи керування

30 травня, 2014


Примітка: частину

слайдів лекції підготовлено за матеріалами курсу В.Снєткова http://www.intuit.ru/studies/courses/591/447/lecture/9960

Крос-платформне програмування     Лекція 11   Користувацькі елементи керування30 травня, 2014Примітка: частину слайдів

Слайд 2Види власних елементів керування
Користувацький ЕК (user control, UC) – невелика

частина сторінки, яка може містити статичний HTML-код і серверні елементи

керування Web
Можуть багаторазово використовуватися на безлічі сторінок одного і того ж Web-застосування
Підтримують створення своїх властивостей, подій та методів
Спеціалізовані серверні ЕК (server custom control, SCC) – скомпільовані класи, які програмним чином генерують свій власний HTML-код
Завжди попередньо компілюються у DLL-бібліотеки збірок


Види власних елементів керуванняКористувацький ЕК (user control, UC) – невелика частина сторінки, яка може містити статичний HTML-код

Слайд 3Особливості користувацьких елементів керування
починаються з директиви @Control, а не @Page
файл

користувацького ЕК не є окремою сторінкою, тому не повинен містити

дескриптори , , ,

розширення користуваць- ких ЕК – .ascx, а не .aspx
об’єкт сторінки походить від класу Page, а об’єкт користувацького ЕК – від класу UserControl
файли прихованого коду є нащадками класу System.Web.UI.UserControl
не можуть бути запитані самим клієнтом, а, навпаки, впроваджуються в інші Web-сторінки
Особливості користувацьких елементів керуванняпочинаються з директиви @Control, а не @Pageфайл користувацького ЕК не є окремою сторінкою, тому

Слайд 4Створення користувацького елементу керування
Алгоритм:
«Add new Item» - «Web User Control»
Наповнення

користувацького елементу
Перетягування користувацького елементу у потрібні форми

Створення користувацького елементу керуванняАлгоритм:«Add new Item» - «Web User Control»Наповнення користувацького елементуПеретягування користувацького елементу у потрібні форми

Слайд 5Додавання користувацького елементу керування на стрінку
Алгоритм:
«Add new Item» - «Web

User Control»
Наповнення користувацького елементу
Перетягування користувацького елементу у потрібні форми

Додавання користувацького елементу керування  на стрінкуАлгоритм:«Add new Item» - «Web User Control»Наповнення користувацького елементуПеретягування користувацького елементу

Слайд 6Обробка подій
Стандартний ЕК LinkButton знімає з таймера севера та відображає

клієнту поточний час

Обробка подійСтандартний ЕК LinkButton знімає з таймера севера та відображає клієнту поточний час

Слайд 7Додавання властивостей







Тестова сторінка Default2.aspx містить два елемента керування

Додавання властивостейТестова сторінка Default2.aspx містить два елемента керування

Слайд 8Порядок генерації подій ініціалізації
Виконується віддалений запит сторінки і вона заванта-жується

у пам'ять сервера
Конструктором класу створюється та ініціалізується користувацький ЕК
Присвоюються

значення атрибутів, передбачені в дескрипторі користувацького ЕК
Створюється об'єкт батьківської сторінки
Виконується подія Page.Load батьківської сторінки, в обробнику Page_Load() якої можна передбачити пере-призначення атрибутів, властивостей користувацького ЕК
Виконується подія Page.Load користувацького ЕК
Порядок генерації подій ініціалізаціїВиконується віддалений запит сторінки і вона заванта-жується у пам'ять сервераКонструктором класу створюється та ініціалізується

Слайд 9Використання спеціальних об’єктів
1. Створити веб-форму з розділеним кодом та ім'ям

LinkTableTest.aspx
2. Зробити цю сторінку стартовою
3. Додати до проекту нову папку

з ім'ям App_Code
Використання спеціальних об’єктів1. Створити веб-форму з розділеним кодом та ім'ям LinkTableTest.aspx2. Зробити цю сторінку стартовою3. Додати до

Слайд 10Використання спеціальних об’єктів (2)
4. До папки App_Code додати новий клас

C# з ім'ям LinkTableItem.cs, що містить наступний код

Використання спеціальних об’єктів (2)4. До папки App_Code додати новий клас C# з ім'ям LinkTableItem.cs, що містить наступний

Слайд 11Використання спеціальних об’єктів (3)
5. Створити користувацький елемент керування з розділеним

кодом та ім'ям LinkTable

Використання спеціальних об’єктів (3)5. Створити користувацький елемент керування з розділеним кодом та ім'ям LinkTable

Слайд 12Використання спеціальних об’єктів (4)
6. Файл LinkTable.ascx.cs заповнити наступним кодом
7. Розмістити

користувацький елемента керування на тестовій сторінці LinkTableTest.aspx

Використання спеціальних об’єктів (4)6. Файл LinkTable.ascx.cs заповнити наступним кодом7. Розмістити користувацький елемента керування на тестовій сторінці LinkTableTest.aspx

Слайд 13Використання спеціальних об’єктів (5)
8. Налаштувати файл LinkTableTest.aspx.cs

Використання спеціальних об’єктів (5)8. Налаштувати файл LinkTableTest.aspx.cs

Слайд 14Делегати
Делегат - об'єкт, який може посилатися на метод
Дозволяє динамічно викликати

метод, на який він посилається, під час виконання
Об'єкт делегата підтримує

три фрагмента інформації
адресу методу, на якому він викликається
аргументи (якщо вони є) цього методу
значення, що повертається (якщо воно є), цього методу
delegate тип_що_повертається ім’я (список_параметрів);
тип_що_повертається - тип значення, що повертається методами, які будуть викликатися делегатом
ім’я - конкретне ім'я делегата
список_параметрів - параметри, необхідні для методів, що викликаються делегатом


ДелегатиДелегат - об'єкт, який може посилатися на методДозволяє динамічно викликати метод, на який він посилається, під час

Слайд 15Приклад: застосування методів екземпляра в якості делегатів
Метод, що викликається,

може бути методом екземпляра, пов'язаним з об'єктом, або статичним методом,

пов'язаним з конкретним класом
Тип і сигнатура метода, що повертається, повинні співпадати з тими, які вказані в оголошенні делегата
Коли відбувається звер-нення до екземпляра делегата IntOperation, викликається метод, на який він посилається

Приклад: застосування методів екземпляра в якості делегатів Метод, що викликається, може бути методом екземпляра, пов'язаним з об'єктом,

Слайд 16Приклад: групова адресація
Групова адресація – можли-вість створити список або ланцюжок

викликів для методів, які викликаються автоматично при зверненні до делегата
Для

цього достатньо отримати екземпляр делегата, а потім додати методи в ланцюжок за допомогою оператора + або +=
Для видалення методу служить оператор - або -=
Приклад: групова адресаціяГрупова адресація – можли-вість створити список або ланцюжок викликів для методів, які викликаються автоматично при

Слайд 17Подія
Подія - автоматичне повідомлення про те, що відбулася деяка дія
об'єкт,

що виявляє інтерес до події, реєструє обробник цієї події
коли подія

відбувається, викликаються всі зареєстро-вані обробники цієї події
обробники подій зазвичай представлені делегатами
події підтримують групову адресацію, що дозволяє декільком об'єктам реагувати на повідомлення про подію
Оголошення події
event делегат_події ім’я_події;
делегат_події - ім'я делегата, використовуваного для підтримки події
ім’я_події - конкретний об'єкт оголошеної події

ПодіяПодія - автоматичне повідомлення про те, що відбулася деяка діяоб'єкт, що виявляє інтерес до події, реєструє обробник

Слайд 18Обробка подій у середовищі .NET Framework
Об'єкт надає свої методи-обробники для

реагування на виникнення події. Говорять, що об'єкт підписався на деяку

подію
Оголошення обробника подій
void обробник(object відправник, EventArgs е)
{ ... }
відправник - посилання на об'єкт, що формує подію
е - параметр типу EventArgs, що містить додаткову інформацію про подію, яка потрібна обробнику
Клас EventArgs не містить поля, які можна використати для передачі обробнику додаткових даних, він служить базовим класом, від якого отримують похідний клас, що містить всі необхідні поля
Обробка подій у середовищі .NET FrameworkОб'єкт надає свої методи-обробники для реагування на виникнення події. Говорять, що об'єкт

Слайд 19Додавання подій
1. Змінити тип елемента в шаблоні дескрипторного подання

файла LinkTableExt.ascx на нове ім'я атрибута CommandArgument

Додавання подій1. Змінити тип елемента в шаблоні дескрипторного подання файла LinkTableExt.ascx на нове ім'я атрибута CommandArgument

Слайд 20Додавання подій (2)
2. Оголосити клас LinkTableEventArgs для упаковки переданої в

подію інформації та делегата події в глобальній області видимості у

файлі LinkTableExt.ascx.cs підтримки користувацького ЕК
Додавання подій (2)2. Оголосити клас LinkTableEventArgs для упаковки переданої в подію інформації та делегата події в глобальній

Слайд 21Додавання подій (3)
3. У файлі LinkTableExt.ascx у режимі Design створити

обробник для події ItemCommand для користувацького ЕК

Додавання подій (3)3. У файлі LinkTableExt.ascx у режимі Design створити обробник для події ItemCommand для користувацького ЕК

Слайд 22Додавання подій (4)
4. У режимі Design тестової сторінки розмістіть елемент

Label з вкладки Standard, задайте йому ім'я lblInfo







5. У файлі

LinkTableExtTest.aspx.cs заповніть обробник LinkClicked наступним кодом

Додавання подій (4)4. У режимі Design тестової сторінки розмістіть елемент Label з вкладки Standard, задайте йому ім'я

Слайд 23Додавання подій (5)
6. Підключити обробник можна двома способами:
додати ім’я згенерованого

обробника в атрибут OnLinkClicked дескриптора файлу тестової сторінки LinkTableExtTest.aspx




підключити

обробник за допомогою коду делегата у файлі LinkTableExtTest.aspx.cs в кінці обробника події Page_Load() класу LinkTableTest
Додавання подій (5)6. Підключити обробник можна двома способами:додати ім’я згенерованого обробника в атрибут OnLinkClicked дескриптора файлу тестової

Слайд 24Додавання подій (6)
7. Запустіть тестову сторінку LinkTableExtTest.aspx та отримайте результат

Додавання подій (6)7. Запустіть тестову сторінку LinkTableExtTest.aspx та отримайте результат

Слайд 25Динамічне завантаження користувацьких ЕК
Створювати методом Page.LoadControl() при кожному завантаженні сторінки

в обробнику її події Page.Load екземпляр класу користувацького елемента керування,

заздалегідь підготовленого в файлах *.ascx та *.ascx.cs
Резервувати за допомогою елемента PlaceHolder місце розміщення для точного позиціонування на сторінці користувацького елемента керування
Обов'язково присвоювати після динамічного створення значення властивості ID користувацького елемента керування, особливо, коли створюється кілька примірників одного і того ж елемента

Динамічне завантаження користувацьких ЕКСтворювати методом Page.LoadControl() при кожному завантаженні сторінки в обробнику її події Page.Load екземпляр класу

Слайд 26Перетворення сторінки .aspx в користувацький елемент керування .asсx
Розробити звичайну сторінку,

налаштувати її та перевірити у дії
Перейменувати розширення файлу з .aspx

у .ascx
Директиву @Page разом з її атрибутами слід видалити і замінити директивою @Control
<%@ Control language="c#" ... %>
Видалити з коду усі дескриптори , , ,
У коді файлу замінити базовий клас сторінки System.Web.UI.Page на System.Web.UI.UserControl
Якщо використовується модель сумісного коду, то потрібно в директиву @Control обов'язково додати атрибут ClassName="ім’я_файла_або_будь-яке_ім’я"
Перетворення сторінки .aspx в користувацький елемент керування .asсxРозробити звичайну сторінку, налаштувати її та перевірити у діїПерейменувати розширення

Слайд 27Портальні каркаси
Декларативні налаштування об’єктів DropDownList

Портальні каркасиДекларативні налаштування об’єктів DropDownList

Слайд 28Портальні каркаси (2)

Портальні каркаси (2)

Слайд 29Література
Мэтью Мак-Дональд, Марио Шпушта. Microsoft ASP.NET 3.5 с примерами

на C# 2008 и Silverlight 2 для профес-сионалов.: Пер. с

англ. – М.: ООО "И.Д. Вильямс", 2009. – 1408 с.
Рихтер Дж. CLR via C#. Программиро-вание на платформе Microsoft .NET Framework 4.0 на языке C#. 3-е изд. – СПб.: Питер, 2012. – 928 с.
Корисні ресурси
http://msdn.microsoft.com/ru-ru/library/
http://www.intuit.ru/studies/courses/591/447/lecture/9960

Література Мэтью Мак-Дональд, Марио Шпушта. Microsoft ASP.NET 3.5 с примерами на C# 2008 и Silverlight 2 для

Слайд 30Дякую за увагу

Дякую за увагу

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика