ПредишенСледващото

UpdatePanel контроли са централна част от AJAX функции в ASP.NET. Те се използват за контрол на ScriptManager да подкрепят частично рендиране страница. Частичен изобразяване намалява необходимостта от синхронни Функциите Postback и пълна страница се променя, когато се наложи да актуализирате само част от страницата. Частичен изобразяване подобрява работата на потребителите, тъй като тя намалява екран трептене, което се случва, когато обратната прехвърлянето на цялата страница и подобрява интерактивността на уеб страници.

Когато частичното им изобразяване на, управляващ елемент може да изпълнява обратната предаване, цялата страница или промяна на асинхронен на POST и актуализира съдържанието на един или повече UpdatePanel контроли. Има ли обратна връзка за контрол на асинхронен трансфер и актуализация контрол UpdatePanel зависи от следното:

Ако UpdateMode имоти контролира UpdatePanel Винаги. съдържание UpdatePanel контрол се обновява на всеки на POST, изчислена на страницата. Това включва асинхронни Функциите Postback от контроли, които са вътре в други контроли UpdatePanel и Функциите Postback от контроли, които не са вътре контроли UpdatePanel.

Ако UpdateMode имот да Условно. съдържание UpdatePanel контрол се актуализира в следните случаи:

Когато се обадите контрол метод Актуализация UpdatePanel изрично.

Когато контролът на UpdatePanel е вложен в друг контрол UpdatePanel и панела родител се актуализира.

Когато за предаване по обратна се причинява от контрола, която се определя като спусък, използвайки тригерите Информацията UpdatePanel контрол. В този случай, на контролния панел директно инициира съдържанието на актуализация. Контролът може да бъде вътре или извън UpdatePanel елемент за управление, свързан с спусъка.

Когато ChildrenAsTriggers имот да е вярно и е дете на контрола за управление UpdatePanel причинява на POST. Вложените контроли дете UpdatePanel не водят до актуализацията контрол на родител UpdatePanel, освен ако изрично не са дефинирани като задейства.

Комбинацията от параметър на невярна и ChildrenAsTriggers имоти Имоти UpdateMode Винаги неприемливо и ще хвърли изключение.

Когато контролът на UpdatePanel извършва асинхронен метод след това добавя глава HTTP. Някои прокси сървъри, премахване на заглавката на HTTP. В този случай сървърът обработва заявката като редовен на POST, което води до грешка на клиентите. За да разрешите този проблем, поставете потребителски полета на формуляра при извършване на асинхронен запис. След това трябва да се провери форма полето за заглавие или обичай в сървъра код.

Можете да използвате няколко контроли UpdatePanel да актуализира различни региони страница самостоятелно. Когато за първи път се появи страница, която съдържа една или повече UpdatePanel контрол, цялото съдържание на контрол UpdatePanel се извършват и се изпраща към браузъра. В последвалото асинхронен на POST, съдържанието на всеки контролен UpdatePanel не могат да бъдат актуализирани, в зависимост от параметрите на панела и клиент или сървър логика за отделните панели.

Можете да използвате и UpdatePanel контроли в следните сценарии:

контролите на потребителя.

Сгушен сред още UpdatePanel контроли.

контролни елементи в рамките на шаблона, като гледания или рипитър контроли.

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

Можете да добавите контрол UpdatePanel програмно, но не можете да добавяте програмно задейства. За да създадете поведение спусъка, за контрол може да се регистрира на страницата като на POST контролния асинхронно. Това може да стане като се обадите на метод RegisterAsyncPostBackControl ScriptManager управление. След това можете да създавате манипулатор събитие, което се извършва в отговор на асинхронен на POST, а в манипулатор, обадете се на метода на Актуализация на контрола UpdatePanel.

UpdatePanel контрол приема EXPANDO атрибути. Това ви позволява да укажете CSS клас за HTMLelementy, които се показват в контрола. Например, можете да създадете оформление е показано в следния пример:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!