欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一步一步學(xué)asp.net ajax

 更新時(shí)間:2012年05月01日 17:28:49   作者:  
以前一直都是自己寫(xiě)日志,在麥庫(kù)寫(xiě),然后,保存,不過(guò),感覺(jué)分享的東西就應(yīng)該放在博客中,自己寫(xiě)的東西,像記日志的方式,更容易去思考,而不是隨便堆砌,整理一下以前的學(xué)習(xí)資料
雖然學(xué)了1年多的asp.net,走了好多彎路,不過(guò)每一次體驗(yàn)都讓人難以忘懷,馬上要奔大四了,慢慢的開(kāi)始總結(jié),以前做過(guò)的東西,更多的是重新寫(xiě)以前的項(xiàng)目,以前雖然參加一些項(xiàng)目,但是感覺(jué)根本寫(xiě)的都是垃圾,堆砌功能,學(xué)校環(huán)境下,也能理解,不過(guò),慢慢的開(kāi)始學(xué)會(huì)自己總結(jié),自己重構(gòu),也感受到每天的進(jìn)步!

今天開(kāi)始,在博客園寫(xiě)博客,慢慢的積累心得!與大家一起進(jìn)步!

image
任務(wù):做(母板頁(yè)面)一個(gè)關(guān)于新聞?lì)悇e加載的ajax

 

主要實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)加載

clip_image001

我們先查看數(shù)據(jù)內(nèi)容

clip_image003

接下來(lái)我們要學(xué)習(xí)怎么用jquery 實(shí)現(xiàn)ajax的新聞?lì)悇e

ajax請(qǐng)求我們首先要熟悉,json數(shù)據(jù),我們的ajax通過(guò)json傳輸,

好處:數(shù)據(jù)與界面分離,界面的變化無(wú)關(guān)數(shù)據(jù),后臺(tái)只負(fù)責(zé)提供數(shù)據(jù),我們的數(shù)據(jù)甚至可以直接調(diào)用后臺(tái)類(lèi)別管理的方法,重用性高

而且,性能極佳,我們甚至可以通過(guò)緩存的方式緩存類(lèi)別,因?yàn)轭?lèi)別信息加載,前臺(tái)頁(yè)面的類(lèi)別加載非常頻繁,而且易于維護(hù)與修改.用戶(hù)體驗(yàn)好.

壞處:需要js和jquery功底,需要手動(dòng)編寫(xiě)jquery ajax的腳本.

我們首先要知道2個(gè)jquery函數(shù),一個(gè)是$.ajax,主要是用來(lái)做ajax請(qǐng)求用的,一個(gè)是$.parseJSON用來(lái)轉(zhuǎn)義ajax的,還有一個(gè)是$.each用來(lái)遍歷的,相當(dāng)于foreach,查閱jquery api:

4

$.parseJSON

6

接下來(lái)是$.each

7

有了這些準(zhǔn)備,我們還要寫(xiě)一個(gè)后臺(tái)的數(shù)據(jù)提供者,這個(gè)可以直接從后臺(tái)調(diào)用,這里僅列出,后臺(tái)json數(shù)據(jù)的

生成方法,

8

生成的json數(shù)據(jù)格式

9

然后就是對(duì)json數(shù)據(jù)的處理過(guò)程

首先我們要通過(guò)ajax獲取后臺(tái)的數(shù)據(jù),ajax就通過(guò)這么調(diào)用

  $(function(){

   $.ajax({

  url:"Admin/News/Data/GetNewsInfo.ashx?method=GetNewsTypeForCombox",

         type:"get",

         success:function(text){   //這個(gè)是回調(diào)函數(shù)

          // alert(text);

         var JsonData=$.parseJSON(text);

           $("#m2").empty();//先清空m2子元素的內(nèi)容

           $.each(JsonData,function(key,value){   //注意這里

             $("#m2").append("<a href="+value.TypeId+">"+value.TypeName+"</a>");

             // alert(key+" "+value.TypeId+" "+JsonData[key].TypeId+" "+JsonData[key].TypeName);

                //each方法,可以通過(guò)測(cè)試,查看具體含義

           });

         }

         });

        });

實(shí)現(xiàn)效果

10

接下來(lái),我們要做的就是給類(lèi)別信息加緩存,因?yàn)槟赴屙?yè)頻繁加載,而且,這些信息沒(méi)有必要反復(fù)讀取數(shù)據(jù)庫(kù),我們就通過(guò)緩存處理,在后臺(tái)添加緩存機(jī)制

11

這樣一個(gè)完整的ajax,就成功完成了!

是不是很有成就感?

一個(gè)ajax頁(yè)面的響應(yīng)速度,各方面要快得多,而且,配合緩存,性能非常好!

用三層改寫(xiě)以前的項(xiàng)目,后臺(tái)采用了三層構(gòu)架的設(shè)計(jì),也第一次真正感受到了架構(gòu)之美!擴(kuò)展的便利性!配合手寫(xiě)的代碼生成器和分布類(lèi)修改更簡(jiǎn)潔更方便!

. 12

總結(jié):這樣我們一個(gè)簡(jiǎn)單的新聞?lì)悇e就實(shí)現(xiàn)了,雖然簡(jiǎn)單,但是一個(gè)高性能可擴(kuò)展的網(wǎng)站,更為重要的是主體架構(gòu),在這里ajax通過(guò)json傳輸數(shù)據(jù),后臺(tái)通過(guò)ashx頁(yè)面實(shí)現(xiàn),實(shí)現(xiàn)了業(yè)務(wù)與數(shù)據(jù)的分離,后臺(tái)只負(fù)責(zé)數(shù)據(jù)的供應(yīng),前臺(tái)實(shí)現(xiàn)數(shù)據(jù)的展示,這種UI與數(shù)據(jù)的分離,是網(wǎng)站架構(gòu)的第一步.

作者 cnblogs tianzh

相關(guān)文章

最新評(píng)論