SharePoint And Ajax Technology(1):Ajax技術學習
上一篇文章介紹了如何在VS2008上搭建Ajax環境。這篇文章可以說是一個學習筆記,看了http://www.asp.net/ajax的學習視頻的內容,自己實驗一下,學習AjaxJ。
1.開啟上次建立的AJAX 1.0-Enabled ASP.NET 2.0 Web Site。開啟Default.aspx頁面,在設計檢視下,可以看到頁面上有一個ScriptManager控制項,這個控制項需要在每個具備Ajax功能的頁面上存在,提供Ajax支援,並且每個頁面有且僅能具有一個ScriptManager。
<!--[if !vml]-->
<!--[endif]-->
視頻中的整個實驗過程是這樣的,作者在頁面上放置了3個Label控制項,用來顯示目前時間,然後在頁面上放置了一個Button控制項,通過它的Click事件來進行事件觸發,回調服務端的功能,在三個Label上顯示目前時間,注意,這時頁面發生了重新整理。
實驗一過程:
2.在頁面上拖放3個Label。
<!--[if !vml]-->
<!--[endif]-->
3.雙擊Button控制項,添加它的Click事件。
<!--[if !vml]-->
<!--[endif]-->
4.按F5運行。點擊OK。
<!--[if !vml]-->
<!--[endif]-->
5.點擊頁面上的Button按鈕,這時頁面發生了回調,也就是我們說的重新整理。目前時間顯示在了頁面上。
<!--[if !vml]-->
<!--[endif]-->
實驗二:在頁面上添加了UpdatePanel,並將需要更新的內容和回調事件觸法的按鈕放進UpdatePanel,實現了無頁面重新整理的頁面局部內容更新。
6.開啟Default.aspx頁面,在第一個Label下添加一個UpdatePanel控制項。
<!--[if !vml]-->
<!--[endif]-->
7.將第二個Label和Button拖放進這個UpdatePanel中。
<!--[if !vml]-->
<!--[endif]-->
8.按F5運行。
9.點擊Button後發現只有UpdatePanel內的第二個Label內容進行了更新,而且頁面沒有進行重新整理,並且其餘兩個Label的內容也沒有更新。
<!--[if !vml]-->
<!--[endif]-->
實驗三:將Button從UpdatePanel中拖了出來,僅留下第二個Label在UpdatePanel中,這時,我們怎樣使UpdatePanel外部的控制項觸發事件時不重新整理頁面來更新UpdatePanel內部的內容呢。利用Trigger。
10.將Button從UpdatePanel中拖出來,放到頁面最下方。
<!--[if !vml]-->
<!--[endif]-->
11.查看頁面的HTML原始碼。找到添加的UpdatePanel。可以看到Label在ContentTemplate中,在這個節點下面斷行符號打<號,會出現智能提示,選擇Triggers。
12.在Triggers中添加asp:AsyncPostBackTrigger。並且設定觸發事件的控制項ID是Button1(如果你沒更改的話),要觸發的事件是Click,可以在Button的屬性視窗中找到。
<!--[if !vml]-->
<!--[endif]-->
13.添加後UpdatePanel節點內容如下,紅字為新增內容。
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" /> </Triggers> </asp:UpdatePanel> |
14.按F5運行。點擊Button後,成功,頁面並沒有重新整理,而第二個Label的內容更新了,並且其他兩個Label的內容沒有更新。
<!--[if !vml]-->
<!--[endif]-->
完成。
來源:http://www.cnblogs.com/Bear-Study-Hard/archive/2008/07/22/1243084.html