在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C#/ ASP.NET Ajax控件
ASP.NET調(diào)試
ASP.NET Web Services
ASP.NET緩存
ASP.NET多線程
ASP.NET面板控件
ASP.NET數(shù)據(jù)綁定
ASP.NET數(shù)據(jù)源
ASP.NET個性化
ASP.Net教程
ASP.NET Ajax控件
ASP.NET生命周期
ASP.NET HTML服務器
ASP.NET簡介
ASP.NET驗證器
ASP.NET多視圖
ASP.NET網(wǎng)站配置
ASP.NET錯誤管理
ASP.NET自定義控件
ASP.NET LINQ
ASP.NET AdRotator控件
ASP.NET客戶端
ASP.NET文件上傳
ASP.NET服務器控件
ASP.NET開發(fā)環(huán)境配置
ASP.NET管理狀態(tài)
ASP.NET服務端
ASP.NET數(shù)據(jù)庫訪問(Access)
ASP.NET基本控件
ASP.NET安全
ASP.NET指令
ASP.NET事件處理
ASP.NET第一個程序
ASP.NET日歷控件

ASP.NET Ajax控件

AJAX代表異步的JavaScript和XML。這是一個跨平臺的技術,可以加快響應速度。 AJAX服務器控件將腳本添加到由瀏覽器執(zhí)行和處理的頁面。

但是,像其他ASP.NET服務器控件一樣,這些AJAX服務器控件也可以擁有與它們關聯(lián)的方法和事件處理程序,這些處理程序在服務器端處理。

Visual Studio IDE中的控件工具箱包含一組稱為“AJAX擴展” 的控件,

ScriptManager控件

ScriptManager控件是最重要的控件,并且必須存在于其他控件才能在頁面上工作。

它的基本語法,如下:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

如果從“添加項目” 對話框創(chuàng)建“啟用Ajax的站點” 或添加“AJAX Web窗體” ,則Web窗體將自動包含腳本管理器控件。 ScriptManager控件負責所有服務器端控件的客戶端腳本。

UpdatePanel控件

UpdatePanel控件是一個容器控件,并從Control類派生。 它充當其中的子控件的容器,沒有自己的接口。 當它內(nèi)部的一個控件觸發(fā)了一個提交(post)后,UpdatePanel會介入以異步啟動提交并更新頁面的那一部分。

例如,如果按鈕控件位于更新面板內(nèi)部并且被點擊,則只有更新面板中的控件將受到影響,頁面其他部分的控件將不受影響。這被稱為部分回傳或異步回傳。

示例

在應用程序中添加一個AJAX Web表單。 它包含默認的腳本管理器(ScriptManager)控件,插入更新面板。 在更新面板控件內(nèi)放置一個按鈕控件和一個標簽控件。 在面板外面放置另一組按鈕和標簽。

首先打開Visual Studio,創(chuàng)建一個名稱為:AjaxControl 的空ASP.NET網(wǎng)站項目,如下所示 -

在這個項目名稱上點擊右鍵,在彈出的選項中選擇:添加 -> 添加新項,選擇Web窗體,創(chuàng)建一個文件:Default.aspx, 如下所示 -

設計視圖如下所示:

請注意,執(zhí)行該頁面時,如果點擊全部回傳按鈕,則會更新兩個標簽中的時間,但如果單擊局部回傳按鈕,則只會更新更新面板中的標簽。

運行上面項目,得到以下結(jié)果 -

點擊控件后,可以看到以下效果 -

一個頁面可以包含多個更新面板,每個面板包含其他控件(如網(wǎng)格)并顯示不同部分的數(shù)據(jù)。

全部回傳 發(fā)生時,更新面板內(nèi)容默認內(nèi)容。可以通過更改控件的UpdateMode屬性來更改此默認模式??纯锤旅姘宓钠渌麑傩浴?/p>

UpdatePanel控件的屬性

下表顯示了UpdatePanel控件的屬性:

編號 屬性 描述
1 ChildrenAsTriggers 此屬性指示回發(fā)是否來自子控件,這會導致更新面板刷新。
2 ContentTemplate 它是內(nèi)容模板,并定義在更新面板中顯示的內(nèi)容。
3 ContentTemplateContainer 檢索動態(tài)創(chuàng)建的模板容器對象,并用于以編程方式添加子控件。
4 IsInPartialRendering 指示面板是否作為部分回貼的一部分進行更新。
5 RenderMode 顯示渲染模式??捎玫哪J绞?code>Block和Inline。
6 UpdateMode 通過確定一些條件來獲取或設置渲染模式。
7 Triggers 定義每個對應于導致面板自動刷新的事件的收集觸發(fā)器對象。

UpdatePanel控件的方法

下表顯示了UpdatePanel控件的方法:

編號 方法 描述
1 CreateContentTemplateContainer 創(chuàng)建一個Control對象,作為定義UpdatePanel控件內(nèi)容的子控件的容器。
2 CreateControlCollection 返回UpdatePanel控件中包含的所有控件的集合。
3 Initialize 如果啟用了部分頁面呈現(xiàn),則初始化UpdatePanel控件觸發(fā)器集合。
4 Update 導致更新UpdatePanel控件的內(nèi)容。

UpdatePanel控件的行為取決于UpdateMode屬性和ChildrenAsTriggers屬性的值。

UpdateMode ChildrenAsTriggers 影響
Always False 非法參數(shù)
Always True 如果整個頁面刷新或其上的子控件回發(fā),UpdatePanel會刷新。
Conditional False 如果整個頁面刷新或者觸發(fā)外部控件啟動刷新,UpdatePanel將刷新。
Conditional True UpdatePanel刷新整個頁面刷新,或者其上的子控件回發(fā)或觸發(fā)控件在外部啟動刷新。

UpdateProgress控件

當一個或多個更新面板控件正在更新時,UpdateProgress控件在瀏覽器上提供了一種反饋。 例如,在執(zhí)行某些面向數(shù)據(jù)庫的作業(yè)時,用戶登錄或等待服務器響應。

它提供了一個可視的確認,如“正在載入頁面…”,表示正在進行工作。

UpdateProgress控件的語法是:

<asp:UpdateProgress ID="UpdateProgress1" runat="server" DynamicLayout="true" AssociatedUpdatePanelID="UpdatePanel1" >

   <ProgressTemplate>
      Loading...
   </ProgressTemplate>

</asp:UpdateProgress>

上面的代碼片段顯示了ProgressTemplate標簽中的簡單消息。但是,這可能是一個圖像或其他相關的控制。 UpdateProgress控件將顯示每個異步回發(fā),除非使用AssociatedUpdatePanelID屬性將其分配給單個更新面板。

UpdateProgress控件的屬性

下表顯示了UpdateProgress控件的屬性:

編號 屬性 描述
1 AssociatedUpdatePanelID 獲取并設置與此控件關聯(lián)的更新面板的ID。
2 Attributes 獲取或設置UpdateProgress控件的級聯(lián)樣式表(CSS)屬性。
3 DisplayAfter 獲取并設置顯示進度模板的時間(以毫秒為單位)。 默認值是500
4 DynamicLayout 指示是否動態(tài)呈現(xiàn)進度模板。
5 ProgressTemplate 指示在異步回發(fā)期間顯示的模板,其比DisplayAfter時間花費更多的時間。

UpdateProgress控件的方法

下表顯示了UpdateProgress控件的方法:

編號 方法 描述
1 GetScriptDescriptors 返回UpdateProgress控件的客戶端功能所需的組件,行為和客戶端控件的列表。
2 GetScriptReferences 返回UpdateProgress控件的客戶端腳本庫依賴項列表。

Timer控制

定時器(Timer)控件用于自動啟動回發(fā)。 這可以通過兩種方式來完成:

(1)設置UpdatePanel控件的Triggers屬性:

<Triggers> 
   <asp:AsyncPostBackTrigger ControlID="btnpanel2" EventName="Click" />
</Triggers>

(2)直接在UpdatePanel中放置一個Timer控件,作為一個子控件觸發(fā)器。 一個計時器可以成為多個UpdatePanel的觸發(fā)器。

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">

   <ContentTemplate>
      <asp:Timer ID="Timer1" runat="server" Interval="1000">
         </asp:Timer>

      <asp:Label ID="Label1" runat="server" Height="101px" style="width:304px" >
         </asp:Label>
   </ContentTemplate>

</asp:UpdatePanel>