.net MVC4 来一个简单的分页代码
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 来一个简单的分页代码的更多相关文章
- 只是一个用EF写的一个简单的分页方法而已
只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...
- 窥探原理:实现一个简单的前端代码打包器 Roid
roid roid 是一个极其简单的打包软件,使用 node.js 开发而成,看完本文,你可以实现一个非常简单的,但是又有实际用途的前端代码打包工具. 如果不想看教程,直接看代码的(全部注释):点击地 ...
- asp.net core下一个简单的分页技术
在做web应用的时候免不了要对数据进行分页,我最近在做asp.net core的开发的时候就遇到了这个需求,现在简单的记录一下: public class PaginatedList<T> ...
- Asp.net MVC4之 一个简单的小例子
练习: 新建一个mvc项目 要求: 有3个视图 Login Index Details 目的:感受一下MVC与传统WebForm的差异性 WebForm的请求模型 MVC请求模型 传统WebForm ...
- 洗礼灵魂,修炼python(3)--从一个简单的print代码揭露编码问题,运行原理和语法习惯
前期工作已经准备好后,可以打开IDE编辑器了,你可以选择python自带的IDLE,也可以选择第三方的,这里我使用pycharm--一个专门为python而生的IDE 按照惯例,第一个python代码 ...
- vuejs2.0实现一个简单的分页
用js实现的分页结果如图所示: css .page-bar{ margin:40px; } ul,li{ margin: 0px; padding: 0px; } li{ list-style: no ...
- 利用Django做一个简单的分页页面
views代码: from django.shortcuts import render from django.conf import settings from booktest.models i ...
- ios(iphone/ipad)一个简单的用代码判断当前设备的方法
直接NSLog(@"current_device:%@",[UIDevice currentDevice].model); 即可看出它输出的是当前设备,所以根据这个字符串可简单的判 ...
- 用PHP写的一个简单的分页类 1.0版
<?php /* 分页类 用于实现对多条数据分页显示 version:1.0 author:Knight E-Mail:S.Knight.Work@gmail.com Date:2013-10- ...
随机推荐
- 工作总结 vue 城会玩
用了vue2.0,vuex, vue-router等较新的技术,完成了城会玩这个项目,过程中发现自己许多不足,也得到很多人帮助,特别是有些困难的技术点.现在项目上线了,在此做一个整理和总结. 1.ke ...
- C#两个引用类的属性、方法 各位早安
***字符串.IndexOf("串"); - 返回字符串中第一个匹配项的索引,如果没有匹配项返回-1 intint b = s.IndexOf("天",s.I ...
- 初学者浅度剖析eShopOnContainers 里面用到的MediatR .
一.介绍 简单了解下开源项目 MedatR, eShopOnContainers, MediatR作者Jimmy Bogard : Simple mediator implementation in ...
- gitlab 配置 ssh key
打开本地git bash,使用如下命令生成ssh公钥和私钥对 ssh-keygen -t rsa -C 'xxx@xxx.com' 然后一路回车(-C 参数是你的邮箱地址) 然后打开~/.ssh/id ...
- 搭建Harbor私有镜像仓库--v1.5.1
搭建Harbor私有镜像仓库--v1.5.1 1.介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境 ...
- 【NLP】彻底搞懂BERT
# 好久没更新博客了,有时候随手在本上写写,或者Evernote上记记,零零散散的笔记带来零零散散的记忆o(╥﹏╥)o..还是整理到博客上比较有整体性,也方便查阅~ 自google在2018年10月底 ...
- c++文件对齐
头文件#include <iomanip> 关键词:setw(n),std::left,std::right 实例:输出一个0-4的12*12方阵,要求数字宽度为4,居左对齐,右下角输出出 ...
- NIO_通道之间传输数据
通道之间传输数据 transferFrom() transferTo() @Test public void test3() throws IOException { FileChannel inCh ...
- 查看linux端口对应的进程id
例如:查看占用4040端口的进程 ss -lptn 'sport = :4040'
- 【quickhybrid】JS端的项目实现
前言 API实现阶段之JS端的实现,重点描述这个项目的JS端都有些什么内容,是如何实现的. 不同于一般混合框架的只包含JSBridge部分的前端实现,本框架的前端实现包括JSBridge部分.多平台支 ...