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. 工作总结 vue 城会玩

    用了vue2.0,vuex, vue-router等较新的技术,完成了城会玩这个项目,过程中发现自己许多不足,也得到很多人帮助,特别是有些困难的技术点.现在项目上线了,在此做一个整理和总结. 1.ke ...

  2. C#两个引用类的属性、方法 各位早安

    ***字符串.IndexOf("串"); - 返回字符串中第一个匹配项的索引,如果没有匹配项返回-1  intint b = s.IndexOf("天",s.I ...

  3. 初学者浅度剖析eShopOnContainers 里面用到的MediatR .

    一.介绍 简单了解下开源项目 MedatR, eShopOnContainers, MediatR作者Jimmy Bogard : Simple mediator implementation in ...

  4. gitlab 配置 ssh key

    打开本地git bash,使用如下命令生成ssh公钥和私钥对 ssh-keygen -t rsa -C 'xxx@xxx.com' 然后一路回车(-C 参数是你的邮箱地址) 然后打开~/.ssh/id ...

  5. 搭建Harbor私有镜像仓库--v1.5.1

     搭建Harbor私有镜像仓库--v1.5.1 1.介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境 ...

  6. 【NLP】彻底搞懂BERT

    # 好久没更新博客了,有时候随手在本上写写,或者Evernote上记记,零零散散的笔记带来零零散散的记忆o(╥﹏╥)o..还是整理到博客上比较有整体性,也方便查阅~ 自google在2018年10月底 ...

  7. c++文件对齐

    头文件#include <iomanip> 关键词:setw(n),std::left,std::right 实例:输出一个0-4的12*12方阵,要求数字宽度为4,居左对齐,右下角输出出 ...

  8. NIO_通道之间传输数据

    通道之间传输数据 transferFrom() transferTo() @Test public void test3() throws IOException { FileChannel inCh ...

  9. 查看linux端口对应的进程id

    例如:查看占用4040端口的进程 ss -lptn 'sport = :4040'

  10. 【quickhybrid】JS端的项目实现

    前言 API实现阶段之JS端的实现,重点描述这个项目的JS端都有些什么内容,是如何实现的. 不同于一般混合框架的只包含JSBridge部分的前端实现,本框架的前端实现包括JSBridge部分.多平台支 ...