|
Программирование >> Программирование с использованием ajax
Описание полученных результатов На поведение, связанное с обновлением элемента управления UpdatePanel, можно влиять. По умолчанию обновление осуществляется всякий раз, когда происходит операция обратной отправки данных Ajax. При желании можно изменять это поведение и делать так, чтобы элементы управления обновлялись только в случае инициации обновления либо изнутри самого элемента управления UpdatePanel, либо из элементов управления, находящихся за его пределами, путем определения триггера. Ниже приведен ASPX-код, который необходимо использовать для определения триггера AsyncPostBackTrigger для элемента управления UpdatePanel 1. <form id= forml runat= server > <div> <asp:ScriptManager ID= ScriptManagerl runat= server > </asp:ScriptManager> <asp:UpdatePanel ID= UpdatePanell runat= server UpdateMode= Conditional > <ContentTemplate> <asp:Label ID= Labell runat= server Text= Label > </asp:Label> <asp:Button ID= Buttonl runat= server OnClick= OnButtonClick Text= Button /> </ContentTemplate> <Trigger8> <a8p: AsyncPostBackTrigger Control IDs But ton2 EventNaM= Click /> </Triggers> </asp:UpdatePanel> </div> <asp:UpdatePanel ID= UpdatePanel2 runat= server UpdateMode= Conditional > <ContentTemplate> <asp:Label ID= Label2 runat= server Text= Label > </asp:Label> <asp:Button ID= Button2 runat= server OnClick= OnButtonClick Text= Button /> </ContentTemplate> </asp:UpdatePanel> </form> В табл. 22.4 перечислены свойства элемента управления UpdatePanel. Таблица 22.4. Свойства элемента управления UpdatePanel Свойство UpdatePanel Описание ChildrenAsTriggers В случае установки для ЭТОГО свойства значения true, содержимое элемента управления UpdatePanel обновляется при выполнении его дочерними элементами управления обратной отправки RenderMode Указывает, как элемент управления UpdatePanel дол- жен визуализироваться. Возможными значениями являются UpdatePanelRenderMode.Block и UpdatePanelRenderMode.Inline. Значение Block указывает, что должен визуализировать дескриптор <div>, а значение inline - что должен визуализироваться дескриптор <span> UpdateMode Устанавливается в одно из значений перечисления UpdatePanelUpdateMode. Значение Always указывает обновлять элемент управления UpdatePanel при каждой обратной отправке данных Ajax, а значение Conditional - обновлять его только в зависимости от триггеров Triggers Содержит коллекцию элементов AsyncPostbackTrigger и PostbackTrigger, указывающих, когда ДОЛЖНО обновляться содержимое элемента управления UpdatePanel Элемент управления Timer Элемент управления Timer в ASP.NET AJAX может применяться для повторного выполнения какого-то метода по истечении указанного интервала времени. Практическое занятие! Использование элемента управления Timer 1. Откройте созданный ранее Web-сайт AJAXWebsite. 2. Добавьте новую Web-форму AJAX по имени TimerDemo. aspx и сделайте ее стартовой страницей приложения. 3. Далее добавьте в эту Web-форму элемент управления UpdatePanel. 4. Теперь добавьте в этот элемент управления UpdatePanel элемент управления Label и элемент управления Timer. 5. Установите для свойства Interval элемента управления Timer значение 5000 и добавьте в его событие Tick метод OnTick. 6. Реализуйте метод OnTick () так, чтобы он обновлял элемент управления Label: protected void OnTick(object sender, EventArgs e) { Labell.Text = DateTime.Now.ToLongTimeString(); 7. Запустите Web-форму и удостоверьтесь в том, элемент управления Label в ней действительно обновляется каждые пять секунд (рис. 22.4). Ш UnWJeti Page Win. Isi ЦМ( If httpV/tou io t603 Й 4t umffi ]pag0 5:17Ю6РМ 4LocalintraiwtPro4 100% - Puc. 22.4. Web-форма С элементом управления Timer Описание полученных результатов Элемент управления Timer использует клиентский сценарий JavaScript для выполнения операций обратной отправки через указанный промежуток времени. В случае его размещения внутри элемента управления UpdatePanel, как было сделано в этом примере, он может принимать участие и в операциях частичного визуального обновления. Элемент управления UpdateProgress Элемент управления UpdateProgress позволяет обеспечивать пользователей своего рода подсказкой касательно того, сколько времени осталось до завершения того или иного длительного процесса. 1ктическое занятиф Использование элемента управления UpdateProgress 1. Откройте созданный ранее Web-сайт AJAXWebsite. 2. Добавьте в него новую Web-форму AJAX по имени UpdateProgressDemo. aspx и сделайте ее стартовой страницей приложения. 3. Далее добавьте на эту страницу элемент управления UpdateProgress, а потом внутри уже этого элемента управления добавьте текст Wait. . . (Ожидайте). 4. Теперь добавьте в эту страницу элемент управления UpdatePanel, после чего добавьте внутри этого элемента управления такой элемент управления ASP.NET, как TextBox и Button. 5. Установите для свойства AssociatedUpdatePanelld элемента управления UpdateProgress значение UpdatePanell. 6. Для свойства Text элемента управления TextBox установите значение 1000. 7. Импортируйте пространство имен Sys tem. Threading вверху файла UpdateProgressDemo. aspx. cs. Это пространство имен требуется для получения возможности использования в следующем шаге класса Thread. using System.Threading; 8. Назначьте событию Click элемента управления Button метод Button Click и реализуйте его следующим образом: protected void Button Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(int.Parse(TextBoxl.Text)); 9. Запустите Web-форму и удостоверьтесь в том, что при выполнении щелчка на Button в ней отображается содержимое элемента управления UpdateProgress (рис. 22.5) и что это содержимое остается видимым до самых тех пор, пока процесс не будет завершен. Понаблюдайте за поведением данной страницы, вводя меньшие и большие значения в TextBox перед выполнением щелчка на элементе управления Button.
Puc. 22.5. Отображенгсе содержимого элемента управления UpdateProgress после щелчка на Button
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |