日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Ajax Extensions核心控件介绍

發(fā)布時(shí)間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ajax Extensions核心控件介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

摘自:http://www.cnblogs.com/remember515/archive/2007/06/28/799030.html

Ajax的核心組件包括ScriptManager、ScriptManagerProxy、UpdatePanel、Timer、UpdateProgress,其相關(guān)屬性如下:
updatePanel控件?

UpdatePanel主要屬性

UpdateMode

內(nèi)容模板的更新模式,有AlwaysConditional兩種模式,默認(rèn)情況下為Always

區(qū)別:Always即一旦有任何事件可觸發(fā)updatePanel更新即開始更新內(nèi)容模板,而Conditional則是有條件的更新,一般為設(shè)置了Trigger屬性后由Trigger引發(fā)的更新

ChildrenAsTriggers

內(nèi)容模板內(nèi)的子控件的回發(fā)是否更新本模板,值為TrueFalse

RenderMode

局部更新控件的呈現(xiàn)形式,當(dāng)模式為Block時(shí)局部更新控件在客戶端以div的形式展現(xiàn),當(dāng)模式為Inline時(shí)以span形式展現(xiàn)

UpdatePanel主要子元素

ContentTemplate

局部更新控件的內(nèi)容模權(quán),可以其內(nèi)添加任何控件

Triggers

局部內(nèi)容更新觸發(fā)器,內(nèi)似于數(shù)據(jù)庫中的Trigger

觸發(fā)器分為異步回發(fā)(AsyncPostBackTrigger)和類似于普通頁面的回發(fā)機(jī)制(PostBackTrigger),前者實(shí)現(xiàn)局部更新,后者會引起整個(gè)頁面的全部更新

Timers控件

屬性Interval:控制需要等待的時(shí)間,默認(rèn)單位為毫秒,即1000即為1

事件TickTimer唯一的獨(dú)立事件,該事件用于設(shè)計(jì)要完成的任務(wù)

UpdateProgress控件

updateProgress實(shí)際上是一個(gè)div,通過代碼控制div的顯示或隱藏來實(shí)現(xiàn)更新提示,使用UpdateProgress可以設(shè)計(jì)良好的等待界面,達(dá)到與用戶友好交互的目的。

主要屬性和模板:

1AssociateUpdatePanelID:關(guān)聯(lián)的UpdatePanel,此時(shí)UpdateProgress需放置于UpdatePanel外;

?????? 2DisplayAfter:表示多長時(shí)間后顯示進(jìn)度提示,默認(rèn)值為500毫秒

?????? 3ProgressTemplate:用于設(shè)計(jì)等待時(shí)的界面,可在其內(nèi)加入圖形、文字等

腳本控制器ScriptManager

5個(gè)主要屬性及其4個(gè)子元素:

EnablePartialRendering

用于標(biāo)識此頁內(nèi)是否允許局部刷新,默認(rèn)值為True

AllowCustomErrorsRedirect

表示當(dāng)Ajax調(diào)用發(fā)生錯(cuò)誤后,是否導(dǎo)航到Web.Config中定義的錯(cuò)誤配置,如果值為false,則使用AsyncPostBackErrorMessageOnAsyncPostBackError兩個(gè)屬性實(shí)現(xiàn)錯(cuò)誤提示

AsyncPostBackErrorMessage

異步調(diào)用發(fā)生錯(cuò)誤時(shí)的提示信息

OnAsyncPostBackError

異步調(diào)用發(fā)生錯(cuò)誤時(shí)的事件

AsyncPostBackTimeOut

表示異步調(diào)用的有效時(shí)間,默認(rèn)值為90

AuthenticationService

用來表示提供驗(yàn)證服務(wù)的路徑

ProfileService

表示提供個(gè)性化服務(wù)的路徑

Scripts

對腳本的調(diào)用,其中可以嵌套多個(gè)ScriptReference模板以實(shí)現(xiàn)對多個(gè)腳本文件的調(diào)用

Service

對服務(wù)的調(diào)用,通常指Web Service服務(wù),可以嵌套多個(gè)ServiceReference模板以實(shí)現(xiàn)多個(gè)服務(wù)的引用

?至于ScriptManagerProxy,用法和ScriptManager差不多,值得一提的是一個(gè)頁面只能有一個(gè)ScriptManager。而ScriptManagerProxy則是當(dāng)母版頁和內(nèi)容頁需要引用不同的服務(wù)或者腳本時(shí),在內(nèi)容頁中用ScriptManagerProxy代理ScriptManager的職能。

實(shí)例:
下面給出一個(gè)無刷新實(shí)例,此例中加入了四個(gè)
UpdatePanel

頁面部局如下:


UodatePanel1代碼如下:

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

??????????? <ContentTemplate>

??????????????? updatePanel1<br />

??????????????? <strong>Timer<br /></strong>

??????????????? <asp:Label ID="Label1" runat="server" Text="Label1" ForeColor="Blue"></asp:Label>&nbsp;

??????????????? <br />

??????????????? <span style="font-size: 9pt">(拖放一個(gè)Timer到此,設(shè)其Interval為1000,即1秒刷新一次)</span>

??????????? </ContentTemplate>

??????????? <Triggers>

??????????????? <asp:AsyncPostBackTrigger ControlID="Timer1" />

??????????? </Triggers>

??????? </asp:UpdatePanel>

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

??????????????? </asp:Timer>

UodatePanel2代碼如下:

<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">

??????????? <ContentTemplate>

??????????????? updatePanel2<br />

??????????????? <strong>updateProgress</strong><br />

??????????????? <asp:Label ID="Label2" runat="server" Text="Label2" ForeColor="Blue"></asp:Label>

??????????????? <br />

??????????????? <asp:Button ID="btnProgress" runat="server" Text="刷新updatePanel2,出現(xiàn)updateProgress內(nèi)容" OnClick="btnProgress_Click" />

??????????? </ContentTemplate>

??????????? <Triggers>?

??????????????? <asp:AsyncPostBackTrigger ControlID="btnProgress" />

??????????? </Triggers>

??????? </asp:UpdatePanel>

<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel2">

??????????? <ProgressTemplate>

??????????????? <span style="font-size: 10pt; color: #ff6633"><strong>

???????????????? updatePanel2正在更新中...... </strong>

??????????????? </span>

??????????? </ProgressTemplate>

??????? </asp:UpdateProgress>

UodatePanel3代碼如下:

<asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional">

??????????? <ContentTemplate>

??????????????? updatePanel3<br />

??????????????? &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-size: 9pt"><strong>

??????????????? 局部刷新(1)</strong></span><br />

??????????????? <asp:Label ID="Label3" runat="server" Text="Label3" ForeColor="Blue"></asp:Label><br />

??????????????? <asp:Button ID="Button1" runat="server" Text="刷新updatePanel3" />

??????????? </ContentTemplate>

??????????? <Triggers>

??????????????? <asp:AsyncPostBackTrigger ControlID="Button2" />

??????????? </Triggers>

??????? </asp:UpdatePanel>

UodatePanel4代碼如下:

<asp:UpdatePanel ID="UpdatePanel4" runat="server" UpdateMode="Conditional">

??????????? <ContentTemplate>

??????????????? updatePanel4<br />

??????????????? <span style="font-size: 9pt">

<strong>局部刷新(2)<br /></strong></span>

??????????????? <asp:Label ID="Label4" runat="server" Text="Label4" ForeColor="Blue"></asp:Label>

??????????????? <br />

??????? <asp:Button ID="Button2" runat="server" Text="刷新updatePanel3和updatePanel4" />

??????????? </ContentTemplate>

??????????? <Triggers>

??????????????? <asp:AsyncPostBackTrigger ControlID="Button2" />

??????????? </Triggers>

??????? </asp:UpdatePanel>

Page_Load事件里面代碼如下:

protected void Page_Load(object sender, EventArgs e)

??? {

??????????? this.Label1.Text = DateTime.Now.ToString();

??????????? this.Label2.Text = DateTime.Now.ToString();

???????? ???this.Label3.Text = DateTime.Now.ToString();

??????????? this.Label4.Text = DateTime.Now.ToString();???????

??? }

UpdatePanel2中btnProgress的Click事件代碼如下:

protected void btnProgress_Click(object sender, EventArgs e)

??? {

??????? //如果刷新速度太快則不會看到updateProgress中的內(nèi)容

??????? //此時(shí)可以令程序延遲一段時(shí)間再執(zhí)行

??????? System.Threading.Thread.Sleep(5000);//5

??????? Label2.Text = DateTime.Now.ToString();

??? }

?

頁面最終效果圖

?

示例程序下載





轉(zhuǎn)載于:https://www.cnblogs.com/wj-wangjun/archive/2007/11/29/976689.html

總結(jié)

以上是生活随笔為你收集整理的Ajax Extensions核心控件介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。