- •Курсова робота
- •1.Пояснювальна записка
- •V. Детальне проектування
- •Vі Висновки
- •VII Література
- •2.Зміст додатків
- •1. Клієнтський сценарій asp.Net
- •1.1. Клієнтський сценарій на веб-сторінках asp.Net
- •1.2. Програмна реалізація зворотних викликів клієнта без зворотної передачі в веб-сторінки asp.Net
- •2. Постановка задачі
- •2.1. Призначення, функції та достоїнства додатку
- •3. Опис проекту
- •3.1. Проектування інтерфейсу
- •3.2. Основні елементи інтерфейсу
- •4. Детальне проектування
- •4.1. Розробка бази даних проекту, структура таблиць
- •4.2. Основні модулі, алгоритми
- •Висновок
- •Література
- •Додаток 1 – Лістинг програми
- •Додаток 2 – Схеми проекту
1.2. Програмна реалізація зворотних викликів клієнта без зворотної передачі в веб-сторінки asp.Net
У моделі за замовчуванням для веб-сторінок ASP.NET користувач взаємодіє зі сторінкою і натискає кнопку або виконує іншу дію, яке призводить до зворотного передачі. Сторінка і її елементи управління повторно створюються, код сторінки запускається на сервері, і нова сторінка відображається в браузері. Однак в деяких ситуаціях корисно запустити код сервера з клієнта без виконання зворотної передачі. Якщо клієнтський сценарій на сторінці обробляє будь-які відомості стану (наприклад, значення локальної змінної), передача сторінки і повернення її нової копії призводить до видалення цього стану. Крім того, при зворотному відправці сторінки виконується додаткова обробка, яка призводить до зниження продуктивності і змушує користувача чекати обробки і повторного створення сторінки.
Щоб уникнути втрати стану клієнта і додаткової обробки циклу звернення до сервера, можна написати код веб-сторінки ASP.NET, щоб він міг виконувати зворотні виклики клієнта. При зворотному виклику клієнта функція клієнтського сценарію запитує веб-сторінку ASP.NET. Веб-сторінка запускає змінену версію свого звичайного життєвого циклу. Сторінка инициализируется, створюються елементи управління та інші члени, і потім викликається спеціально позначений метод. Цей метод виконує обробку, яка була запрограмована, і повертає оглядачеві значення, яке може бути прочитано інший функцією клієнтського сценарію. Під час цього процесу сторінка знаходиться в браузері.
Зворотні виклики клієнта можуть використовувати кілька елементів управління веб-сервера. Наприклад, елемент управління TreeView використовує зворотні виклики клієнта для реалізації його функціональної можливості заповнення на вимогу. Додаткові відомості див. У розділі Загальні відомості про серверному веб-елементі управління TreeView.
Існує кілька параметрів для автоматизації зворотних викликів клієнтів на веб-сторінці ASP.NET. Можливості AJAX в ASP.NET, такі як серверний елемент управління UpdatePanel, можуть автоматизувати асинхронне оновлення сторінки по частинах, а можливість зв'язку веб-служби може автоматизувати асинхронні виклики веб-служби.
Функція для зворотного виклику генерується в серверному коді. Фактичний зворотний виклик виконується функцією бібліотеки, яка доступна будь-якій сторінці, що реалізує інтерфейс ICallbackEventHandler. Можна отримати посилання на функцію бібліотеки за допомогою виклику методу GetCallbackEventReference сторінки, який доступний через властивість ClientScript сторінки. Потім виконується динамічна побудова клієнтської функції, яка включає виклик повертається з методу GetCallbackEventReference. Передайте цим методом посилання на сторінку (this в C # або Me в Visual Basic), ім'я аргументу, який буде використовуватися для передачі даних, ім'я функції клієнтського сценарію, який отримає дані зворотного виклику, і аргумент, який передає будь-який потрібний контекст.
Можна написати клієнтську функцію, яка статично отримує зворотні виклики на сторінці. Ім'я функції має відповідати імені, переданому у виклику методу GetCallbackEventReference. Яка отримує функція приймає два строкових значення: одне для значення, що повертається і додаткове - для значення контексту, переданого назад з сервера.
Клієнтські сценарії можна додавати в елементи управління веб-вузла ASP.NET декларативно - так само, як і в елементи HTML. Також події сценарію клієнта можна додавати в серверні веб-елементи управління ASP.NET програмними засобами, що зручно, якщо подія або код грунтується на інформації, доступної тільки під час виконання.
Будь-яка пара «атрибут-значення» в розмітці елементу управління, не відповідає властивостям елемента управління, передається оглядачеві без змін.
Клієнтський сценарій може виконувати потенційно шкідливі функції на клієнтському комп'ютері. Слід виключно обережно підходити до запису сценарію на сторінці, особливо в тому випадку, якщо він створюється або змінюється у відповідь на введення даних користувачем.
Отже, клієнтський сценарій являється важливою складовою будь-якого веб-додатку, який має можливість обробляти різні події на сторінці відразу після виклику його методу (методів).
