Asp.net MVC 示例
public ActionResult Browse(string id)
{
using (musicstoreEntities db = new musicstoreEntities())
{
ViewBag.GenreId = id;
int count = db.Albums.Count(a => a.GenreId.ToString() == id);
int pageCount = 0;
if (count%10 == 0)
{
pageCount = count/10;
}
else
{
pageCount = count/10 + 1;
}
ViewBag.AlbumCount = pageCount;
return View();
}
}
public ActionResult PageList(string id, int pageNum, int pageSize)
{
List<string> albumTitleList = null;
using (musicstoreEntities db = new musicstoreEntities())
{
albumTitleList =
db.Albums.Where(album => album.GenreId.ToString() == id).OrderBy(album => album.Title)
.Skip((pageNum - 1) * pageSize)
.Take(pageSize)
.ToList().Select(album => album.Title).ToList();
}
return Json(albumTitleList, JsonRequestBehavior.AllowGet);
}
<script>
$(function() {
//$.ajaxSetup({ cache: false });
var pageCount = Number($("#pageCount").val());
loadPageList(1, 10, pageCount);
});
function loadPageList(pageNum, pageSize, pageCount) {
var genreid = $("#genreid").val();
$.get("/Store/PageList", { id: genreid, pageNum: pageNum, pageSize: pageSize }, function(data) {
$("#ulAlbumList").empty();
$(".pagination").empty();
$.each(data, function(index, item) {
$("#ulAlbumList").append("<li>" + item + "</li>");
});
$(".pagination").append('<li><span aria-label="Previous"><span aria-hidden="true">«</span></span></li>');
for (var i = 1; i <= pageCount; i++) {
$(".pagination").append("<li><span>" + i + "</span></li>");
if (pageNum === i) {
$(".pagination li:eq(" + i + ")").addClass("active");
}
}
$(".pagination").append('<li><span aria-label="Next"><span aria-hidden="true">»</span></span></li>');
if (Number(pageNum) === Number(pageCount)) {
$(".pagination li:last").addClass("disabled");
}
if (Number(pageNum) === 1) {
$(".pagination li:first").addClass("disabled");
}
getNextPageList(pageNum, pageSize, pageCount);
getPrePageList(pageNum, pageSize, pageCount);
});
}
function getNextPageList(pageNum, pageSize, pageCount) {
$(".pagination li:last").click(function () {
loadPageList(Number(pageNum) + Number(1), pageSize, pageCount);
});
}
function getPrePageList(pageNum, pageSize, pageCount) {
$(".pagination li:first").click(function() {
loadPageList(Number(pageNum) - Number(1), pageSize, pageCount);
});
}
</script>
Asp.net MVC 示例的更多相关文章
- [Asp.net mvc] 在Asp.net mvc 中使用MiniProfiler
MiniProfiler是Stack Overflow团队设计的一款性能分析的小程序.可以对一个页面本身,及该页面通过直接引用.Ajax.Iframe形式访问的其它页面进行监控,监控内容包括数据库内容 ...
- asp.net mvc各种传值方式大全
MVC 各种传值方式 ViewData传值. HomeController.cs Co de: public ActionResult Index(){ ViewData["Ti ...
- Pro ASP.NET MVC –第三章 MVC模式
在第七章,我们将创建一个更复杂的ASP.NET MVC示例,但在那之前,我们会深入ASP.NET MVC框架的细节:我们希望你能熟悉MVC设计模式,并且考虑为什么这样设计.在本章,我们将讨论下列内容 ...
- ASP.NET MVC Filters 4种默认过滤器的使用【附示例】
过滤器(Filters)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,不是每个请求都会响应内容,只响应特定内容给那些有特定权限的用户,过滤器理论上有以下功能: 判断 ...
- 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章 ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...
- 在 ASP.NET MVC 中充分利用 WebGrid (microsoft 官方示例)
在 ASP.NET MVC 中充分利用 WebGrid https://msdn.microsoft.com/zh-cn/magazine/hh288075.aspx Stuart Leeks 下载代 ...
- 学习ASP.NET MVC(九)——“Code First Migrations ”工具使用示例
在上一篇文章中,我们学习了如何使用实体框架的“Code First Migrations ”工具,使用其中的“迁移”功能对模型类进行一些修改,同时同步更新对应数据库的表结构. 在本文章中,我们将使用“ ...
- MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)
该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的Upda ...
随机推荐
- SVN分支和映射总结和数据库初步使用
SVN使用总结 常用的诸如检出,update,add就不说了. 1.创建分支-----新建分支目录,在分支文件夹下导入项目folder文件夹.分支不会影响主干trunk的代码,可以随意修改. 2.sv ...
- Mac系统下配置JDK环境变量
第一次用Mac做开发,在网上也搜索了一些环境变量配置的文章,在此总结一下以方便日后使用. 1.打开终端Terminal: 2.进入当前用户主目录,cd ~: 3.临时授权,sudo su: 4.输入密 ...
- mybatis mysql 调用视图
java代码 @RequestMapping(value = "/testView", method = RequestMethod.GET) public @ResponseBo ...
- 转!!MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)
MySQL中的存储引擎: 1.存储引擎的概念 2.查看MySQL所支持的存储引擎 3.MySQL中几种常用存储引擎的特点 4.存储引擎之间的相互转化 一.存储引擎: 1.存储引擎其实就是如何实现存储数 ...
- iOS开发 二维码生成
基于libqrencode的二维码生成 + (void)drawQRCode:(QRcode *)code context:(CGContextRef)ctx size:(CGFloat)size { ...
- ROS学习笔记(二)——ubantu 14.04 安装
0.采用双系统安装(U盘安装) 1.安装文件在ubantu官网下载: ubantu官网 :https://www.ubuntu.com/ ubuntu的server版和desktop版有什么区? (来 ...
- Software Engineering: 3. Project planning
recourse: "Software Engineering", Ian Sommerville Keywords for this chapter: planning sche ...
- MR21、MR22和CK24的区别
MR21和CK24都是用于修改物料标准价,但两者功能和用法上有所区别:MR21是直接更改单价, CK24是在CK11N或CK40N价格评估的基础上的价格核发, CK24记录价格评估, 价格评估在做 ...
- 解决UIButton 连续点击重复响应事件问题
经常会遇到重复点击某个按钮 事件被响应多次的情景, 有时候可能对程序本身并没有什么影响 , 可有时候偏偏需要限制button响应事件直接的间隔 . 方法一 : 标记 1 . 利用空闲enable属性来 ...
- 并发编程 01—— ThreadLocal
Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...