MVC PageList使用(异步 与 正常)

此项目的功能为1.将数据分页显示,2.搜索数据按分页显示 3.异步或同步传递
一.第一步引用 mvc PageList插件
二.控制器写法
public ActionResult Index(int page=) //为空则默认第一页
{
var lm = DataBLL.getData()
.OrderBy(x => x.ID)
.ToPagedList(page , ); //扩展类,直接分页 if (Request.IsAjaxRequest()) //用户异步请求
return PartialView("search", lm); return View(lm);
}
三.视图写法(主视图和分布视图):
考虑到异步刷新,搜索条件什么不能改变(就是form表单里面的东西不能修改),所以设计2个视图:
1.主体 用户保持查询条件的不变
<div class="row">
<form class="form" method="post" action="/" data-ajax="true" data-target="#search">
<input type="search" class="form-control" name="产品名称" data-autocomplete="@Url.Action("AutoCom")" autocomplete="on" />
<input type="submit" class="form-control" value="查询" />
<input type="button" class="form-control" id="down" value="下载" />
</form>
</div>
@Html.Partial("search", Model) <!-- 载入分布视图 --!>
2.分布视图
<div class="pagedList row" id="search" data-target="#search"> <!-- 载入分页html代码 --!>
@Html.PagedListPager(Model,
Page => Url.Action("index", new { Page }),
PagedListRenderOptions.OnlyShowFivePagesAtATime) <!-- 样式 --!> <table class="table table-hover" >
<tr>
<th>序列
</th>
<th>产品名称
</th>
<th>类型ID
</th>
<th>类型名称
</th>
<th>别名
</th>
</tr> @foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.产品ID)
</td>
<td>
@Html.DisplayFor(modelItem => item.产品名称)
</td>
<td>
@Html.DisplayFor(modelItem => item.类型ID)
</td>
<td>
@Html.DisplayFor(modelItem => item.类型名称)
</td>
<td>
@Html.DisplayFor(modelItem => item.别名)
</td>
</tr>
} </table>
</div>
四、是否实现异步
我们数据显示主要是在 <div class="pagedList row" id="search" data-target="#search"> 这个里面,所以我们要替换的数据在这里
所以异步主要是获取HTML 然后替换 #search的代码
$("form[data-ajax='true']").submit(function () { //有个小技巧,在表单里面添加属性便于操作管理
var $form = $(this);
$.ajax({
url: $form.attr("action"),
type: $form.attr("method"),
data: $form.serialize(),
success: function (data) {
$("#search").html(data);
}
})
return false;
});
$(".pagedList a").click((function(){
var $a = $(this);
$.ajax({
url : $a.attr("href"),
data: $("form").serialize(),
type: "get",
success: function(data){
$("#search").html(data);
}
})
return false;
}))
源代码:http://pan.baidu.com/s/1bnOAWEj
20160315 注意事项
1.在视图层只能用 @model IPagedList<search.Models.DataModel> ,以前的 @model IEnumerable<???>不能在使用
2.呵呵 你们想在视图层用IPagedList是不是用不好?
记得在VIew文件夹下的 web.config里面添加:
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="PagedList"/> <!-- 看我 -->
<add namespace="PagedList.Mvc"/> <!-- 看我 -->
</namespaces>
MVC PageList使用(异步 与 正常)的更多相关文章
- MVC验证08-jQuery异步验证
原文:MVC验证08-jQuery异步验证 本文主要体验通过jQuery异步验证. 在很多的教材和案例中,MVC验证都是通过提交表单进行的.通过提交表单,可以很容易获得验证出错信息.因为,无论是客户端 ...
- ASP.NET MVC中使用异步控制器
线程池 一直想把项目改写成异步,但是ASP.NETMVC3下写的过于繁琐,.NET 4.5与ASP.NET MVC下代码写起来就比较简单了, MS好像也一直喜欢这样搞,每一个成熟的东西,都要演变好几个 ...
- 在 ASP.NET MVC 中使用异步控制器
线程池 一直想把项目改写成异步,但是ASP.NETMVC3下写的过于繁琐,.NET 4.5与ASP.NET MVC下代码写起来就比较简单了, MS好像也一直喜欢这样搞,每一个成熟的东西,都要演变好几个 ...
- mvc路由引起异步调用web服务的问题
从一篇blog得知使用脚本可以异步调用Web服务,觉得很新鲜,因为自己很少用到Web服务,所以决定写一写看看什么效果. 首先在UI项目(我使用的是MVC4.0)里创建一个Web服务. 添加Web服务后 ...
- 【兼容写法】HttpServerUtility.Execute 在等待异步操作完成时被阻止。关键词:MVC,分部视图,异步
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html MVC6之前的版本,对分部视图的异步支持不是很好 问题: 视图里面有分布视图:@{ ...
- ASP.NET MVC 发送邮件(异步)
最近写邮件发送搞死人了,最后的结果,真是醉了,现整理如下: 网上一搜一大把,到处都是.NET发送邮件的方法,我这里也大同小异的写了一个. 准备一个MailHelper.cs通用类,如下所示: 重要的命 ...
- ASP.NET MVC验证 - jQuery异步验证
本文主要体验通过jQuery异步验证. 在很多的教材和案例中,MVC验证都是通过提交表单进行的.通过提交表单,可以很容易获得验证出错信息.因为,无论是客户端验证还是服务端验证,总能找到与Model属性 ...
- spring mvc easyui tree 异步加载树
使用spring mvc 注解 异步加载一棵树 jsp: <ul id="orgInfoTree"></ul> $(function(){ loadOrgT ...
- ASP.NET MVC下的异步Action的定义和执行原理
一.基于线程池的请求处理ASP.NET通过线程池的机制处理并发的HTTP请求.一个Web应用内部维护着一个线程池,当探测到抵达的针对本应用的请求时,会从池中获取一个空闲的线程来处理该请求.当处理完毕, ...
随机推荐
- UIWebView的应用和其中的JS与OC间传值
现在有很多的应用已经采用了WebView和html语言结合的开发模式.html5一直很火因为一份代码可以在多个平台上运用啊,效果各不相同都很美观,也越来越有一些公司直接招后台程序员和html5程序员, ...
- sqlite与多线程
数据库支持三种线程模式 Single-thread. In this mode, all mutexes are disabled and SQLite is unsafe to use in mor ...
- Java继承中的转型及其内存分配
看书的时候被一段代码能凌乱啦,代码是这样的: package 继承; abstract class People { public String tag = "疯狂Java讲义"; ...
- iOS开发之──传感器使用 (转载)
在实际的应用开发中,会用到传感器,下面首先介绍一下iphone4的传感器,然后对一些传感器的开发的API作一简单介绍. AD:WOT2015 互联网运维与开发者大会 热销抢票 在实际的应用开发中,会用 ...
- 一位资深开发的个人经历 【转自百度贴吧 java吧 原标题 4年java 3年产品 现在又开始做android了】
楼主2007年从一家天津的三流大学毕业.毕业前报了一个职位培训,毕业后可以推荐工作.因为推荐的公司都是北京的,所以就来北京了. 找了一个月工作,没有找到要我的,就在出租屋里宅了起来,打着考研的旗号,又 ...
- uniqid函数产生唯一id,减少碰撞几率
$uuid = str_replace(".","",uniqid(mt_rand(100000,999999),true)); //基于当前时间微妙数,与mt ...
- C# 重载运算符
如果你想让自己定义的类型可以用运算符进行运算,那么可以通过重载运算符来实现: 示例: class Salary { public int RMB { get; set; } public static ...
- Symantec Backup Exec备份作业服务器盘符变更
Symantec Backup Exec的备份作业中,如果某个服务器的磁盘更改了盘符,如果不修改备份作业里面的相关配置,就会出现类似下面的错误信息,如下截图所示 因为这台服务器上我们将原先的G盘的盘符 ...
- Java Se : Java NIO(服务端)与BIO(客户端)通信
Java目前有三种IO相关的API了,下面简单的说一下: BIO,阻塞IO,最常用的Java IO API,提供一般的流的读写功能.相信学习Java的人,都用过. NIO,非阻塞IO,在JDK1.4中 ...
- 【Android】apk文件反编译
工具: 压缩软件:用于解压apk包 dex2jar:*.dex反编译为Jar包 jd-gui:查看Jar文件 (PS:不知道博客园如何上传附件,只能把工具挂到百度网盘了:http://pan.baid ...