2014-04-01 25 views

回答

2

ASP.Net組件(如UpdatePanel)負責將服務器端代碼連接到客戶端代碼。

一個AJAX更新的步驟是這樣的:

  1. 胡克點擊處理程序按鈕

  2. 當單擊該按鈕,收集所需要的任何數據和發送的請求服務器來渲染一些HTML

  3. 與新的HTML替換當前HTML

UpdatePanel負責這些步驟,以便您可以在.Net環境中設置所有內容,而無需考慮客戶端JavaScript。如果你有一個複雜程度適中的頁面並且正在做你自己的AJAX,那麼你會想要深入到javascript模塊模式的兔子洞中,或者你可以不處理它,並且如果你不關心性能,就使用UpdatePanels 。

缺點是它增加了很多JavaScript,你可能不需要它。

基本上,你(取決於兩者ASP.Net和JavaScript您的經驗)進行交易的性能和靈活性,更容易和更快速的發展。適用於「通用」公司內部頁面(快速開發往往勝過可用性),不利於面向公衆的網站閃光。

+0

非常感謝您的快速回復,你會從視圖,更新面板或AJAX()方法的性能點更喜歡哪一個? – swarraj

+0

@swarraj絕對要做你自己的ajax。這樣你就可以準確地知道你所需要的,而不是更多。我將UpdatePanel看作對經驗豐富的.Net編碼人員更有用,他們對javascript沒有太多的經驗,或者學習如何正確地做到這一點,但仍然需要/希望獲得有關他們正在開發的功能的ajax功能。如果你正在學習,一定要學習更靈活的方法:) – Turch

+0

此外,如果你使用UpdatePanel,你會得到很難消除的小副作用,就像失去焦點的控件和提示改變位置一樣。 –

1

更新面板執行頁面的重新渲染,將與面板匹配的部分發送回客戶端。然後瀏覽器用新的html替換更新面板的內容。

jQuery的AJAX方法可以讓你做出的任何頁面的任何請求和處理響應數據,你選擇的任何方式。這可能包括從Web服務讀取JSON響應,獲取html或其他任何您希望的內容。有效地,AJAX爲您提供了一種機制來模擬用戶使用GET或POST數據瀏覽給定的url,並以任何您想要的方式操縱結果。

值得一提的是,更新面板是建立在AJAX(技術上JavaScript的XMLHttpRequest的)對象的頂部。

總之,你有AJAX更多的控制和學習如何使用這將是有益的,但取決於你的使用情況,更新面板可以做你的需要較少的努力。

StackOverflow的答案Diffence between usage of Ajax Update Panel and Jquery:ajax() method

+0

非常感謝,這是否意味着使用更新面板和使用ajax()方法進行異步請求並不是一回事? – swarraj

+0

jQuery的ajax使用XMLHttpRequest,Microsoft AJAX也是如此。如果你使用jQuery,你得到的是一個方便的方法來做出異步請求並得到結果;具體取決於你:調用的URL是什麼,服務器需要做什麼以及客戶端需要處理什麼(例如,返回要插入的HTML,或者返回客戶端分析生成HTML的JSON)。微軟AJAX已經做出了這些決定,無論你需要與否,你都必須使用他們的方式。顯然它必須處理很多不同的場景,所以JavaScript更笨重 – Turch