如何作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整个页面来讲)。
源码下载