天天看點

基于MVC4+EasyUI的Web開發架構經驗總結(12)--利用Jquery處理資料互動的幾種方式

在基于MVC4+EasyUI的Web開發架構裡面,大量采用了Jquery的方法,對資料進行請求或者送出,友善頁面和伺服器後端進行資料的互動處理。本文主要介紹利用Jquery處理資料互動的幾種方式,包括擷取資料并顯示,插入新資料到伺服器,更新資料,删除資料等操作。

為了順利擷取資料,我們需要保持頁面端調用和伺服器端保持一緻,并相應的把資料轉換或者封裝為對象實體進行處理。

下面我們以一個簡單的全國省份、全國城市、全國城市行政區的案例進行Demo代碼的介紹。

基于MVC4+EasyUI的Web開發架構經驗總結(12)--利用Jquery處理資料互動的幾種方式
基于MVC4+EasyUI的Web開發架構經驗總結(12)--利用Jquery處理資料互動的幾種方式
基于MVC4+EasyUI的Web開發架構經驗總結(12)--利用Jquery處理資料互動的幾種方式

總體的操作包括了,分頁查詢,添加資料的儲存,編輯顯示和儲存,檢視資訊的資料顯示等等,而利用Jquery擷取資料并綁定到界面控件上的代碼操作如下所示,主要就是利用getJson方法進行處理。

getJson方法主要就是調用MVC裡面控制器的方法,擷取資料,并把它轉換為Json的對象實體,這樣我們就能友善擷取到對應的屬性,進而綁定到界面控件。而FindByID的接口是控制器裡面的方法定義,我們可以通過下面的控制器基類代碼了解具體的邏輯。

上面的操作是從服務端擷取資料并顯示在頁面上,下面我們來介紹如何把資料通過通過Jquery調用,儲存到伺服器上。

在Web架構裡面,我們把添加資料和編輯資料的界面,共享了一個層的界面代碼,這樣可以減少主界面視圖Index.cshtml的代碼數量(因為我們把各種界面的代碼放在一個檔案裡面,友善操作管理)。

而資料的儲存,我們也用同一個函數,這樣也很友善,同時減少代碼數量,儲存操作的javascript腳本函數如下所示。

由于每個層都定義了Name和ID,是以我們可以很容易通過下面方式擷取到對應的對象資料,友善送出。

插入資料的時候,調用的路徑如下所示:

更新資料的時候,調用的路徑如下數艘:

插入對象到資料庫裡面的控制器方法,主要還是調用BLL層的對象方法進行處理,不過事先會進行一定的權限控制和資訊補充,如下代碼所示。

我們注意到,插入和更新操作,傳回的對象都是 CommonResult  對象,這個對象,包含了一個Success的布爾屬性,用來表示是否成功,還有一個ErrorMessage屬性,用來辨別錯誤資訊的,是以我們利用Javascript腳本處理儲存操作的時候,也需要使用這兩個屬性,用來區分和提示資訊的顯示。

操作完成後,提示成功的資訊如下所示。

基于MVC4+EasyUI的Web開發架構經驗總結(12)--利用Jquery處理資料互動的幾種方式

利用Jquery函數,可以POST删除的請求到伺服器上,在此之前我們需要了解我們需要删除那些記錄,并确認提示是否删除,删除成功後,更新清單,并提示使用者,大緻的頁面代碼函數如下所示。

而伺服器的MVC控制器類,我們也隻需要調用基類控制器方法就可以了,基本上不需要額外的處理代碼。

MVC控制器基類的方法定義如下所示,注意最後傳回的是一個常見類CommonResult ,承載這個是否操作成功和錯誤資訊(如果存在的話)。

城市資訊界面如下所示。

基于MVC4+EasyUI的Web開發架構經驗總結(12)--利用Jquery處理資料互動的幾種方式
基于MVC4+EasyUI的Web開發架構經驗總結(12)--利用Jquery處理資料互動的幾種方式

行政區管理界面如下所示。

基于MVC4+EasyUI的Web開發架構經驗總結(12)--利用Jquery處理資料互動的幾種方式

<a href="http://www.cnblogs.com/wuhuacong/p/3281103.html">基于MVC4+EasyUI的Web開發架構形成之旅--總體介紹</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3317223.html">基于MVC4+EasyUI的Web開發架構形成之旅--界面控件的使用</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3343967.html">基于MVC4+EasyUI的Web開發架構形成之旅--附件上傳元件uploadify的使用</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3344096.html">基于MVC4+EasyUI的Web開發架構形成之旅--架構總體界面介紹</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3352016.html">基于MVC4+EasyUI的Web開發架構形成之旅--基類控制器CRUD的操作</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3361351.html">基于MVC4+EasyUI的Web開發架構形成之旅--權限控制</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3667703.html">基于MVC4+EasyUI的Web開發架構經驗總結(1)-利用jQuery Tags Input 插件顯示選擇記錄</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3669575.html">基于MVC4+EasyUI的Web開發架構經驗總結(2)- 使用EasyUI的樹控件建構Web界面</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3669708.html">基于MVC4+EasyUI的Web開發架構經驗總結(3)- 使用Json實體類建構菜單資料</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3736564.html">基于MVC4+EasyUI的Web開發架構經驗總結(4)--使用圖表控件Highcharts</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3780356.html">基于MVC4+EasyUI的Web開發架構經驗總結(5)--使用HTML編輯控件CKEditor和CKFinder</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3840321.html">基于MVC4+EasyUI的Web開發架構經驗總結(6)--在頁面中應用下拉清單的處理</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3841338.html">基于MVC4+EasyUI的Web開發架構經驗總結(7)--實作省份、城市、行政區三者關聯</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3871991.html">基于MVC4+EasyUI的Web開發架構經驗總結(8)--實作Office文檔的預覽</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3872890.html">基于MVC4+EasyUI的Web開發架構經驗總結(9)--在Datagrid裡面實作外鍵字段的轉義操作</a>

<a href="http://www.cnblogs.com/wuhuacong/p/3873498.html">基于MVC4+EasyUI的Web開發架構經驗總結(10)--在Web界面上實作資料的導入和導出</a>

<a href="http://www.cnblogs.com/wuhuacong/p/4073203.html">基于MVC4+EasyUI的Web開發架構經驗總結(11)--使用Bundles處理簡化頁面代碼</a>

<a href="http://www.cnblogs.com/wuhuacong/p/4085682.html">基于MVC4+EasyUI的Web開發架構經驗總結(12)--利用Jquery處理資料互動的幾種方式</a>

<a href="http://www.cnblogs.com/wuhuacong/p/4085725.html">基于MVC4+EasyUI的Web開發架構經驗總結(13)--DataGrid控件實作自動适應寬帶高度</a>

<a href="http://www.cnblogs.com/wuhuacong/p/4093778.html">基于MVC4+EasyUI的Web開發架構經驗總結(14)--自動生成圖示樣式檔案和圖示的選擇操作</a>