http://www.killuakun.com/post/jquery-aspnet-ajax-web.aspx
這是我最近的一個培訓課程,目的是向同事介紹如何使用“jQuery與asp.net3.5開發AJAX化的web應用程式”,自認為程式和內容都比較通俗易懂,就發上來給大家分享一下。
1、為什麼使用jQuery
jQuery是一套Javascript指令碼庫.注意jQuery是指令碼庫, 而不是指令碼架構. "庫"不等於"架構", 比如"System程式集"是類庫,而"ASP.NET MVC"是架構. jQuery並不能協助我們解決指令碼的引用管理和功能管理,這些都是指令碼架構要做的事.
指令碼庫能夠協助我們完成編碼邏輯,實現業務功能. 使用jQuery將極大的提高編寫javascript代碼的效率, 讓寫出來的代碼更加優雅, 更加健壯.
最新版本1.3.2
jQuery有如下特點:
1.提供了強大的功能函數
2.解決瀏覽器安全色性問題
3.實現豐富的UI
4.等等等等...
推薦學習連結:http://www.cnblogs.com/zhangziqiu/archive/2009/04/30/jQuery-Learn-1.html
2、asp.net AJAX 是什麼
ASP.NET AJAX is the free Microsoft AJAX framework for building highly interactive and responsive web applications that work across all popular browsers. The ASP.NET AJAX framework includes Server-Side ASP.NET AJAX, Client-Side ASP.NET AJAX, the AJAX Control Toolkit, and the jQuery library. ASP.NET AJAX enables developers to choose their preferred method of AJAX development, whether it is server-side programming, client-side programming, or a combination of both.----引用ajax.asp.net
翻譯:asp.net ajax是微軟的一套AJAX架構,用於建立高互動應用程式。它包含了“伺服器端AJAX”、“用戶端AJAX”、“AJAX工具集”和“jQuery庫”這四大組成部分。
asp.net AJAX的四大組成
1.伺服器端AJAX
例如:UploadPanel、ScriptManager等控制項
2.用戶端AJAX
Microsoft AJAX Library 3.5,功能比較複雜,主要是對javascript的擴充和一些用戶端控制項
3.AJAX工具集
AJAX Control Toolkit,基本都屬於伺服器控制項,用於快速構造AJAX應用
4.jQuery庫
推薦學習連結:http://www.cnblogs.com/terrylee/archive/2006/11/12/aspnet_ajax_quickstarts.html
3、現在的vs2008對以上有多少支援
目前最新的Visual Studio 2008提供了對於ASP.NET AJAX Extension部分的內建支援。而且,在如下諸方面進行了增強:
對於JavaScript編程的智能感知(intellisense)支援
對於ASP.NET AJAX庫提供整合的編輯器支援
針對支援JSON的.asmx web服務編程的智能感知支援
增強JavaScript調試支援
ASP.NET AJAX擴充器控制項支援
4、對於我們的開發,它們能幹嘛?
1.jQuery
可以快速實現特效,純靜態方式完成,有大量現成開源資源,跨瀏覽器實現。寫jQuery主要靠“扒”。
要求:每個後台工程師和前台工程師都應熟練掌握jQuery,能夠進行DOM操作,改改HTML樹;高手是修改別人的jQuery外掛程式,添加自己的功能。
2.asp.net AJAX
可以通過UploadPanel快速建立無重新整理提交的效果,在最基本的層面上提高使用者體驗(比如註冊時檢查是否存在同名)。
可以將伺服器端對象(包括對象集合和字典等複雜類型)從後台傳送json化的對象執行個體到前台接收,可配合前台javascript實現比較複雜的功能(比如實現無重新整理翻頁)。
3.可以混著用?1+1>2嗎?
將伺服器端對象傳遞到用戶端是個很不錯的功能,它解決了複雜物件的傳輸和解碼,不然.net的對象發送到用戶端,javascript怎麼認識?一個說日語一個說法語?
asp.net AJAX是通過伺服器端的json轉換器實現的,它同時能夠將用戶端的對象傳送到伺服器端。
這種模式就叫“asp.net AJAX 非同步呼叫”。
要求:熟練使用非同步呼叫技術。
推薦學習連結:http://www.cnblogs.com/dflying/archive/2007/06/05/771471.html
4.接下來,發揮各自特長!
jQuery特點是豐富的特效和簡便的DOM操作,asp.net AJAX則是強大的.net對象的處理能力。
這樣下來,一個頁面周期可以變成:
BLL --> aspx --> HTML(渲染完成)
HTML控制項的事件 --> javascript function --> 非同步呼叫 --> aspx.Method() --> 傳回值 --> javascript function --> HTML進行反饋(DOM操作)
5、三個例子
1.簡單jQuery的DOM操作
2.非同步呼叫Page.Method()的應用
注意:方法簽名,錯誤的參數會直接被.net方法“擋”在外面,報錯javascript的錯誤“找不到函數”,在類型不對時很容易出錯。結論,在HTML中進行用戶端驗證。
3.混合jQuery + asp.net AJAX的例子
例子檔案下載:jqueryaspnetajax.rar (87.35 kb)