成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET AJAX UpdatePanel控件

開發 后端
本文介紹ASP.NET AJAX UpdatePanel控件,UpdatePanel 可以為一般的網頁帶來 AJAX 神奇的好處,但是它不能提供我們與 AJAX 正常關聯的高效性。

不論好壞,UpdatePanel控件都是 ASP.NET AJAX 社區所喜愛的。我說“好”,是因為 UpdatePanel 使部分頁面呈現變得相當簡單,而說“壞”,是因為它的簡便和易用性是以效率和令人啼笑皆非的帶寬為代價的。

UpdatePanel 可以為一般的網頁帶來 AJAX 神奇的好處,但是它不能提供我們與 AJAX 正常關聯的高效性。例如,您是否知道,當 UpdatePanel控件對服務器執行異步 AJAX 回調以更新其內容時,這個請求包含了常規 ASP.NET 回發所包含的一切,其中還包括視圖狀態呢?大多數開發人員會以為 AJAX 取消了視圖狀態。而 UpdatePanel 的 AJAX 品牌卻并非如此。

如果您準備使用 UpdatePanel控件,您需要清楚您在準備干什么。在許多情況下,從性能的角度而言,應用程序***是不使用 UpdatePanel,而是使用對 WebMethods 或頁面方法的異步調用。這樣做可能會大幅度降低網絡傳輸中的數據量。但是,它也是一個根本轉變,在這里 UI 更新需要由開發人員使用該頁面上的 JavaScript 來進行顯式處理。

此外,ASP.NET AJAX 論壇上到處都有關于自定義 UpdatePanel 的提問。其實,只要您了解為 UpdatePanel 提供客戶端支持的 Microsoft? AJAX Library 中的 PageRequestManager、JavaScript 類,這里面許多問題就可以迎刃而解。

既然已經提供了 ASP.NET AJAX,我想進一步檢查一下 UpdatePanel,從而進一步了解您可以如何對其進行自定義和優化,甚至在沒有它的情況下如何運行。這恰恰也是本期專欄包含的全部內容。

更新突出顯示

有時候您無法幫助 Microsoft 的開發人員,而只能對他們表示遺憾。如果他們不能將工作做得足夠好,就會遭到公眾的抨擊。然而,有時候他們的工作做得很出色,也會遭到抨擊。例如,我最近收到了一位客戶的電子郵件,抱怨 ASP.NET AJAX UpdatePanel 運行得有點過頭了。

UpdatePanel 使 ASP.NET 頁面回發到服務器,并將它變為流暢、無閃爍的更新時出現閃光和閃爍變得極其簡單。UpdatePanel 可以通過將回發轉換成異步回調(XML-HTTP 請求),以及使用客戶端上的 JavaScript 以刷新由 UpdatePanel控件封裝的頁面的一部分來發揮它的魔力。閃光和閃爍會消失,因為瀏覽器不會將該頁面重新繪制成與它在回發期間的一樣。

客戶的抱怨是,用戶有時候不會注意到頁面的那個部分已經更新了新內容。他的問題很簡單:ASP.NET AJAX 團隊的工作人員是否能使

updatePanel 閃爍再多一點,以便用戶不會錯過重要的更新?

不幸的是,ASP.NET AJAX 團隊可能對制造 UpdatePanel 閃爍沒什么興趣。畢竟,消除閃爍才是發明 UpdatePanel 的初衷。但值得高興的是,您可以在瀏覽器中使用 AJAX 的一些神奇功能,以吸引對已更新的 UpdatePanel 的注意。秘訣在于 Microsoft AJAX Library(由客戶端一半的 ASP.NET AJAX 組成的 JavaScript 類的庫)中的 Sys.WebForms.PageRequestManager 類。PageRequestManager 可以管理由 UpdatePanel 啟動的異步回調。它還負責在異步回調完成后更新 UpdatePanel 內的內容。

PageRequestManager 可以在更新前和更新后激發瀏覽器中的事件。您可以將 JavaScript 中的這些事件關聯起來,并運行可以提醒用戶注意更新內容的代碼。關鍵事件被命名為 pageLoaded.此事件每次都會激發瀏覽器中的頁面加載(它類似 Page_Load in ASP.NET)。它每次還會激發代表 UpdatePanel控件完成而啟動的異步回調,并且會更新這個 UpdatePanel 中的內容。您可以使用兩行代碼(可以合并為一行)注冊 pageLoaded 事件的 JavaScript 處理程序:

var prm = Sys.WebForms.PageRequestManager.getInstance();prm.add_pageLoaded(pageLoaded);

***行獲得對該頁面的 PageRequestManager 對象的引用。第二行注冊名為 pageLoaded 的 JavaScript 函數,作為 pageLoaded 事件的處理程序。

調用時,pageLoaded 事件處理程序會收到一個 Sys.WebForms.PageLoadedEventArgs 類型的參數,它是 Microsoft AJAX Library 中的另一個類。PageLoadedEventArgs 包含一個 get_panelsUpdated 方法,您可以調用該方法來枚舉所有的 UpdatePanel(如果有),其內容剛剛已更新。在默認情況下,UpdatePanel 就是客戶端上的 DIV,因此您可以使用 JavaScript 來使該 DIV 閃光,突出顯示它,或對它執行任何您想要的操作,以提醒用戶注意它。

【編輯推薦】

  1. 淺析ASP.NET Web 安全性
  2. ASP.NET的Session State
  3. 淺析IsPostBack屬性ASP.NET
  4. ASP.NET構架與安全機制
  5. 概述ASP.NET水晶報表
責任編輯:佚名 來源: 百度空間
相關推薦

2009-07-21 09:18:02

UpdatePanelASP.NET AJA

2009-07-29 13:43:52

UpdatePanelASP.NET

2009-07-20 13:54:31

ScriptManagASP.NET AJA

2009-07-21 17:18:26

UpdateProgrASP.NET AJA

2009-08-05 17:58:24

UpdatePanel

2009-07-22 13:08:55

拯救UpdatePanASP.NET MVC

2009-07-28 16:21:03

Asp.net AjaAutoComplet

2009-07-21 17:27:12

UpdateProgrASP.NET AJA

2009-01-08 10:20:56

AutoCompletAjaxASP.NET

2009-07-21 09:43:36

調用UpdatePanASP.NET

2009-07-22 16:05:34

ASP.NET AJA

2009-07-22 16:11:43

ASP.NET AJA

2009-07-22 16:17:39

ASP.NET AJA

2009-07-22 16:25:41

ASP.NET AJA

2009-07-24 13:41:15

ASP.NET AJA

2009-07-20 10:16:13

配置ASP.NET A

2009-07-22 15:58:52

ASP.NET AJA

2009-07-31 13:24:43

ASP.NET AJA

2009-07-28 09:02:32

asp.net aja

2009-08-05 15:57:03

ASP.NET控件ID
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美亚洲国产一区二区三区 | 久久毛片 | 国产成人精品免高潮在线观看 | 欧美性受xxx | 亚洲视频免费在线 | 免费观看羞羞视频网站 | 天天综合永久入口 | 日韩在线免费视频 | 亚洲欧美日韩高清 | 亚洲欧美一区二区三区在线 | 91亚洲精品在线观看 | 精品久久一区二区三区 | 91资源在线| 狠狠av | www.9191.com| 男人的天堂中文字幕 | 992人人草 | 欧美一级免费片 | 亚洲+变态+欧美+另类+精品 | 日本a级大片 | 成人综合一区二区 | 久久精品99国产精品日本 | 国产乱码精品一区二区三区五月婷 | 青春草91 | 精品免费国产一区二区三区 | 亚洲国产成人精品久久 | 亚洲高清一区二区三区 | 久久精品一级 | 午夜免费视频 | 久久免费视频观看 | 精久久 | 日韩午夜激情 | 午夜看电影在线观看 | 国产区一区 | 中文字幕在线观看 | 成人网av | 四虎午夜剧场 | 成人久久网 | 欧美日韩大片 | 91在线一区二区三区 | 亚洲精品一区二区二区 |