action

 VodeEntities db = new NewVode.Models.VodeEntities();
int pagesize = ;
public ActionResult Index(string title, int page = )
{
var sql = "select * ,row_number() over ( order by id desc ) as rownum from vode"; if (!string.IsNullOrEmpty(title))
{
sql = string.Format("{0} where title like '%{1}%'", sql, title);
} var conn = db.Database.Connection;
var sql2 = string.Format("select top {1} * from ({0}) as a where a.rownum>({2}-1)*{1} and a.rownum<={1}*{2}", sql, pagesize, page);
var list = conn.Query<Vode>(sql2); ViewBag.curPage = page;
var total = conn.QueryFirst<int>("select count(id) from (" + sql + ") as a");
ViewBag.curPageTotal =Math.Ceiling((double)( total / pagesize));
ViewBag.stitle = title;
return View(list);
}

html

@model IEnumerable<NewVode.Models.Vode>
@{
ViewBag.Title = "Index";
} <script src="~/Scripts/jquery-1.8.2.js"></script>
<h2>Index</h2>
<form action="/home/index" method="post"> 标题: <input name="title" id="title" value="@ViewBag.stitle" />
<input type="button" value="查询 " id="btnSearch"/>
<input type="hidden" id="page" name="page" value="@ViewBag.curPage" />
@if (Model.Count() == )
{
<div>
无数据
</div>
}
else
{
<div> @foreach (var item in Model)
{
<div>
@item.title
</div>
}
<div id="pagebar"> <a href="javascript:;" onclick="goto(-1)" id="prev">上一页</a>
<a href="javascript:;" onclick="goto(1)" id="next">下一页</a>
<select>
@for (int i = ; i <= ViewBag.curPageTotal; i++)
{
<option value="@i">@i</option>
}
</select>
</div>
</div>
} </form> <script>
var curpage = parseInt( @ViewBag.curPage);
var total = parseInt(@ViewBag.curPageTotal); if (total <=) {
$("#pagebar").hide();
} else {
if (curpage == ) {
$("#prev").disabled = true;
}
if (curpage == total) {
$("#next").hide();
}
}
function goto(v) {
var n = curpage + v;
if (n <= ) {
alert("已经是第一页了");
}
else if (n > total) {
alert("已到最后一页了");
}
else {
$("#page").val(n);
$("form").submit();
}
}
$("form select").val(curpage).change(function () {
$("#page").val($(this).val());
$("form").submit(); });
$("#btnSearch").click(function () {
$("#page").val();
$("form").submit();
})
</script>

.net MVC4 来一个简单的分页代码的更多相关文章

  1. 只是一个用EF写的一个简单的分页方法而已

    只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...

  2. 窥探原理:实现一个简单的前端代码打包器 Roid

    roid roid 是一个极其简单的打包软件,使用 node.js 开发而成,看完本文,你可以实现一个非常简单的,但是又有实际用途的前端代码打包工具. 如果不想看教程,直接看代码的(全部注释):点击地 ...

  3. asp.net core下一个简单的分页技术

    在做web应用的时候免不了要对数据进行分页,我最近在做asp.net core的开发的时候就遇到了这个需求,现在简单的记录一下: public class PaginatedList<T> ...

  4. Asp.net MVC4之 一个简单的小例子

    练习: 新建一个mvc项目 要求: 有3个视图  Login Index Details 目的:感受一下MVC与传统WebForm的差异性 WebForm的请求模型 MVC请求模型 传统WebForm ...

  5. 洗礼灵魂,修炼python(3)--从一个简单的print代码揭露编码问题,运行原理和语法习惯

    前期工作已经准备好后,可以打开IDE编辑器了,你可以选择python自带的IDLE,也可以选择第三方的,这里我使用pycharm--一个专门为python而生的IDE 按照惯例,第一个python代码 ...

  6. vuejs2.0实现一个简单的分页

    用js实现的分页结果如图所示: css .page-bar{ margin:40px; } ul,li{ margin: 0px; padding: 0px; } li{ list-style: no ...

  7. 利用Django做一个简单的分页页面

    views代码: from django.shortcuts import render from django.conf import settings from booktest.models i ...

  8. ios(iphone/ipad)一个简单的用代码判断当前设备的方法

    直接NSLog(@"current_device:%@",[UIDevice currentDevice].model); 即可看出它输出的是当前设备,所以根据这个字符串可简单的判 ...

  9. 用PHP写的一个简单的分页类 1.0版

    <?php /* 分页类 用于实现对多条数据分页显示 version:1.0 author:Knight E-Mail:S.Knight.Work@gmail.com Date:2013-10- ...

随机推荐

  1. mysql查询操作之单表查询、多表查询、子查询

    一.单表查询 单表查询的完整语法: .完整语法(语法级别关键字的排列顺序如下) select distinct 字段1,字段2,字段3,... from 库名.表名 where 约束条件 group ...

  2. CSS快速入门-箭头和图标

    一.三步搞懂箭头产生的原理 在前面的盒子模型一文中,我们已经知道了一个元素空间占位.为了弄明白箭头的产生,我们可以三步走: #demo12 { border: 100px solid; border- ...

  3. Netty源码分析第5章(ByteBuf)---->第4节: PooledByteBufAllocator简述

    Netty源码分析第五章: ByteBuf 第四节: PooledByteBufAllocator简述 上一小节简单介绍了ByteBufAllocator以及其子类UnPooledByteBufAll ...

  4. Centos 7 安装Zabbix

    一.环境准备与说明: 1.zabbix server 版本:3.4.12 ,https://www.zabbix.com/download 2.zabbix agent版本:3.4.14,https: ...

  5. spring-boot+swagger实现WebApi文档

    1.引用依赖包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-s ...

  6. virtual box下安装ubuntu经验

    1. 哪怕下载的是ubuntu64位版本,也在vitualbox下选择ubuntu而不要选择ubuntu(64bit) 2. 安装VBoxGuestAdditional.iso:下载和vbox版本相匹 ...

  7. 多线程分段下载研究的python实现(一)

    我一直对下载文件比较感兴趣.现在我下载文件大部分是用迅雷,但迅雷也有一些不如意的地方,内存占用大,一些不必要的功能太多,不可定制.尤其是最后一点.现在有些下载对useragent,cookie,aut ...

  8. Ubuntu16.04Server版离线安装Nginx1.8.1+Mysql5.7.23+Python3.6.2

    nginx1.8.1 1.安装前准备工作 1.1.检查系统版本,确认源码编译所依赖的环境,提前下载好压缩包. 整个环境都是使用root权限安装,系统版本为server版的ubuntu16.04.4 r ...

  9. 解决maven update project 后项目jdk变成1.5

    http://blog.csdn.net/jay_1989/article/details/52687934

  10. [BUAA OO]第二次博客作业

    第五次作业 这次作业是电梯系列作业的终极版,要求是使用多线程实现三部电梯的运行.这次作业的难点在于第一次运用多线程技术,对于线程中的行为并不了解,以及电梯功能的实现(如果之前作业采取的是扫描指令队列预 ...