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应用内部维护着一个线程池,当探测到抵达的针对本应用的请求时,会从池中获取一个空闲的线程来处理该请求.当处理完毕, ...
随机推荐
- Asp.net web hosting
start /D "C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0" /B WebDev.WebSe ...
- Day Tips:ForceDeleteSite
最近遇到一个奇怪的问题,如下图: 试了各种删除方式都不行. 谷歌了一下发现需要使用如下代码删除. SPWebApplication w = SPWebApplication.L ...
- Xcode中的常用快捷键
新建项目 com + shift +N 新建文件 com + N 偏好设置 通用 com + , 跳到指定行 com + L 当前行加断点 com + \ 移动编辑区最上方 ...
- Java虚拟机JVM学习05 类加载器的父委托机制
Java虚拟机JVM学习05 类加载器的父委托机制 类加载器 类加载器用来把类加载到Java虚拟机中. 类加载器的类型 有两种类型的类加载器: 1.JVM自带的加载器: 根类加载器(Bootstrap ...
- Android 尺寸单位转换和屏幕适配相关
Android 尺寸单位转换和屏幕适配相关 各种尺寸单位的意义 dp: Density-independent Pixels 一个抽象的单元,基于屏幕的物理密度. (dp和dip的意义相同,所以不用区 ...
- unbuntu apahce 2 设置 多域名
1.找到apache2 的设置路径 默认的apache的路径为/etc/apache2/ 2. 修改httpd.conf 本文192.168.0.1 为自己的服务器的ip,下面一样的意思 Server ...
- 运维之Centos apache vsftpd配置
安装Apache yum install httpd -y chkconfig httpd on service httpd start 配置一下iptables iptables -I INPUT ...
- 基于微软平台IIS/ASP.NET开发的大型网站有哪些?
首先说明一下,本文绝不是要说Microsoft平台多么好,多么牛.只是要提醒一些LAMP/Java平台下的同志们,微软平台不至于像你们说的,和想象的那么不堪!只是你们自己不知道而已.同时,也希望广大M ...
- Biee 11g权限详解
前言:BIEE11g的权限较之前10g版本有了较大的变化,最明显的地方就是构架上的变化,其与 Oracle Fusion Middleware Security 紧密的集成在了一起. 在开始之前先让我 ...
- 编译hadoop2.6.0
具体情况比较曲折:hadoop2.6.0编译不过 错误如下: 这个kms模块始终编译不过,最后得出结论国内的aliyun maven仓库有问题, 在编译hadoop2.2.0 可以通过,因为这个版本的 ...