Клас updatepanel ()

UpdatePanel елементи управління є центральною частиною функцій AJAX в ASP.NET. Вони використовуються з ScriptManager управління для підтримки часткової відтворення сторінки. Часткової відтворення сторінки зменшує потребу в синхронних зворотних передачах і повних зміни сторінки, коли необхідно оновити тільки частина сторінки. Часткова отрисовка сторінки покращує взаємодію з користувачами, оскільки зменшує мерехтіння екрану, яке відбувається при зворотному передачі всієї сторінки і покращує інтерактивність веб-сторінки.

При включеній часткової відображенні сторінки, елемент управління може виконувати зворотну передачу, яка змінює всю сторінку або асинхронну зворотну передачу і оновлює вміст одного або декількох UpdatePanel елементів управління. Чи викликає елемент управління асинхронної зворотної передачі і поновлення UpdatePanel управління залежить від наступних:

Якщо UpdateMode Властивості UpdatePanel управління Always. UpdatePanel вміст елемента управління оновлюється при кожній зворотного передачі, розрахована на сторінці. Це включає асинхронні зворотні передачі від елементів управління, що знаходяться всередині інших UpdatePanel елементів управління і зворотні передачі від елементів управління, які не перебувають всередині UpdatePanel елементів управління.

Якщо UpdateMode властивості Conditional. UpdatePanel вміст елемента управління оновлюється в наступних випадках:

При виклику Update методу UpdatePanel явно управляти.

Коли UpdatePanel управління вкладений в інший UpdatePanel управління і батьківської панелі оновлюється.

Коли зворотна передача викликана елементом управління, який визначений як тригер, використовуючи Triggers Властивості UpdatePanel елемента управління. У цьому випадку елемент управління прямо ініціює оновлення вмісту панелі. Елемент управління може бути всередині або поза UpdatePanel елемента управління, пов'язаний з тригером.

Коли ChildrenAsTriggers властивості true і є дочірнім елементом управління UpdatePanel управління викликає зворотну передачу. Вкладені дочірні елементи управління UpdatePanel не викликають оновлення батьківського UpdatePanel управління, якщо тільки вони визначені явно як тригери.

Поєднання параметра ChildrenAsTriggers Властивості false і UpdateMode Властивості Always неприпустимо і буде видано виняток.

Коли UpdatePanel елемент управління виконує асинхронний метод post, він додає заголовок HTTP. Деякі проксі-сервери видаліть заголовок HTTP. У цьому випадку сервер обробляє запит як звичайну зворотну передачу, що призводить до помилки клієнта. Щоб усунути цю проблему, вставте настроюється поля форми при виконанні асинхронної записи. Потім слід перевірте заголовок або настроюється поле форми в серверному коді.

Можна використовувати декілька UpdatePanel елементи управління для поновлення різних сторінки областей незалежно один від одного. Коли сторінки, що містить один або кілька UpdatePanel елементів управління спочатку відображаються, весь вміст всіх UpdatePanel елементів управління виконується і відсилається в браузер. При наступних асинхронних зворотних передачах, вміст кожного UpdatePanel управління не можуть бути оновлені, в залежності від параметрів панелі і клієнтської або серверної логіки для окремих панелей.

Можна також використовувати UpdatePanel елементи управління в наступних сценаріях:

У призначених для користувача елементах управління.

Вкладений в іншому UpdatePanel елементів управління.

Елементи управління всередині шаблону, такі як GridView або Repeater елементів управління.

UpdatePanel можна додавати елементи керування декларативно або програмно.

Можна додати UpdatePanel управління програмним способом, але не можна програмно додавати тригери. Для створення поведінки тригера, можна зареєструвати елемент управління на сторінці, як елемент управління асинхронної зворотної передачі. Це можна зробити, викликавши RegisterAsyncPostBackControl метод ScriptManager елемента управління. Потім можна створити обробник подій, який виконується у відповідь на асинхронну зворотну передачу, а в обробнику виклик Update метод UpdatePanel елемента управління.

UpdatePanel Елемент управління приймає атрибути expando. Це дозволяє задати клас CSS для HTMLелементи, які відображаються в елементах управління. Наприклад можна створити розмітку, показану в наступному прикладі:

Схожі статті