如何作MVC異步查詢,作列表頁面。jquery
查詢是項目中必不可少的工做,並且不一樣的項目不一樣的團隊,都有本身的簡單方法。Asp.net mvc 有本身獨特的優點,下面是結合mvc實現一個產品列表的Demo. ajax
問題描述服務器
對於一些列表頁面,保持一致的查詢代碼。mvc
解決方案asp.net
1. 依賴文件jquery.js 、jquery.unobtrusive-ajax.js。異步
2. 建立部分視圖,PartialView主要存放服務器發送過來的數據。ide
3. 一個包含集合數據的viewmodel.spa
4. 部分視圖代碼基本以下: .net
1 @model IList<Demo.Models.Product> 2 @foreach (Demo.Models.Product item in Model) 3 { 4 <li class="span3 tile tile-double @item.Color"> 5 <a href="#"> 6 <img src="/Images/@item.Image" style="width:250px; height:130px;"> 7 </a><span>@item.Name</span> 8 </li> 9 }
問題討論code
在作過的項目中都是,整個頁面會分爲兩部分。上面是條件篩選,下面是查詢結果。當我選擇完篩選條件後,點擊查詢,發出post請求,服務器響應後,更新指定區域
信息。而這些,asp.net mvc均可以幫咱們作,因此咱們就是整合mvc這些功能便可。
1. ajax.BeginForm 支持服務器響應後須要更新的區域(UpdateTargetId)。相似asp.net中ajax控件updatepanel.
2. 部分視圖用於顯示客戶端請求中,變化的部分。
對於查詢有不少方式實現,這個demo也是我作好多個界面後才總結出來的,相信會有更好的方式出來,但願你們分享代碼。
好處:
1. 代碼更簡潔,統一。
2. 服務器每次發送的數據變少(對於render整個頁面來講)。
源碼下載