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">&laquo;</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">&raquo;</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 示例的更多相关文章

  1. [Asp.net mvc] 在Asp.net mvc 中使用MiniProfiler

    MiniProfiler是Stack Overflow团队设计的一款性能分析的小程序.可以对一个页面本身,及该页面通过直接引用.Ajax.Iframe形式访问的其它页面进行监控,监控内容包括数据库内容 ...

  2. asp.net mvc各种传值方式大全

    MVC 各种传值方式 ViewData传值. HomeController.cs Co de: public ActionResult Index(){       ViewData["Ti ...

  3. Pro ASP.NET MVC –第三章 MVC模式

    在第七章,我们将创建一个更复杂的ASP.NET MVC示例,但在那之前,我们会深入ASP.NET MVC框架的细节:我们希望你能熟悉MVC设计模式,并且考虑为什么这样设计.在本章,我们将讨论下列内容 ...

  4. ASP.NET MVC Filters 4种默认过滤器的使用【附示例】

    过滤器(Filters)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,不是每个请求都会响应内容,只响应特定内容给那些有特定权限的用户,过滤器理论上有以下功能: 判断 ...

  5. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...

  7. 在 ASP.NET MVC 中充分利用 WebGrid (microsoft 官方示例)

    在 ASP.NET MVC 中充分利用 WebGrid https://msdn.microsoft.com/zh-cn/magazine/hh288075.aspx Stuart Leeks 下载代 ...

  8. 学习ASP.NET MVC(九)——“Code First Migrations ”工具使用示例

    在上一篇文章中,我们学习了如何使用实体框架的“Code First Migrations ”工具,使用其中的“迁移”功能对模型类进行一些修改,同时同步更新对应数据库的表结构. 在本文章中,我们将使用“ ...

  9. MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)

    该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的Upda ...

随机推荐

  1. SVN分支和映射总结和数据库初步使用

    SVN使用总结 常用的诸如检出,update,add就不说了. 1.创建分支-----新建分支目录,在分支文件夹下导入项目folder文件夹.分支不会影响主干trunk的代码,可以随意修改. 2.sv ...

  2. Mac系统下配置JDK环境变量

    第一次用Mac做开发,在网上也搜索了一些环境变量配置的文章,在此总结一下以方便日后使用. 1.打开终端Terminal: 2.进入当前用户主目录,cd ~: 3.临时授权,sudo su: 4.输入密 ...

  3. mybatis mysql 调用视图

    java代码 @RequestMapping(value = "/testView", method = RequestMethod.GET) public @ResponseBo ...

  4. 转!!MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)

    MySQL中的存储引擎: 1.存储引擎的概念 2.查看MySQL所支持的存储引擎 3.MySQL中几种常用存储引擎的特点 4.存储引擎之间的相互转化 一.存储引擎: 1.存储引擎其实就是如何实现存储数 ...

  5. iOS开发 二维码生成

    基于libqrencode的二维码生成 + (void)drawQRCode:(QRcode *)code context:(CGContextRef)ctx size:(CGFloat)size { ...

  6. ROS学习笔记(二)——ubantu 14.04 安装

    0.采用双系统安装(U盘安装) 1.安装文件在ubantu官网下载: ubantu官网 :https://www.ubuntu.com/ ubuntu的server版和desktop版有什么区? (来 ...

  7. Software Engineering: 3. Project planning

    recourse: "Software Engineering", Ian Sommerville Keywords for this chapter: planning sche ...

  8. MR21、MR22和CK24的区别

      MR21和CK24都是用于修改物料标准价,但两者功能和用法上有所区别:MR21是直接更改单价, CK24是在CK11N或CK40N价格评估的基础上的价格核发, CK24记录价格评估, 价格评估在做 ...

  9. 解决UIButton 连续点击重复响应事件问题

    经常会遇到重复点击某个按钮 事件被响应多次的情景, 有时候可能对程序本身并没有什么影响 , 可有时候偏偏需要限制button响应事件直接的间隔 . 方法一 : 标记 1 . 利用空闲enable属性来 ...

  10. 并发编程 01—— ThreadLocal

    Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...