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. 使用reflux进行react组件之间的通信

    前言 组件之间为什么要通信?因为有依赖. 那么,作为React组件,怎么通信? React官网说, 进行 父-子 通信,可以直接pass props. 进行 子-父 通信,往父组件传给子组件的函数注入 ...

  2. Example For maven-compiler-plugin

    1. Compiling Sources Using A Different JDK The compilerVersion parameter can be used to specify the ...

  3. pandas处理数据

    读文件 pd.read_csv('path/to/file.txt',header=0,names='ab',index=0) names Columns这个可以不写,制定索引列是第一列,这样就没有序 ...

  4. 我的Markdown笔记

    一片简单的Markdown笔记,共8项,基本上满足Markdown文档的编写(表格不建议用Markdown),每项上半部分是源码,下半部分是效果图片. 标题 段落 列表 强调 分割线 代码 连接 图片 ...

  5. Openfire用户密码加密解密

    需求要求审核过程中都用匿名进行用户注册登录,注册用户审核通过后才使用openfire内置表 如何做到用户密码统一 Openfire是通过org.jivesoftware.util.Blowfish.j ...

  6. angularJS获取json数据(实战)

    学习了这么多天的AngularJS,今天想从实战的角度和大家分享一个简单的Demo--用户查询系统,以巩固之前所学知识.功能需求需要满足两点 1.查询所有用户信息,并在前端展示 2.根据id查询用户信 ...

  7. JAX-WS使用Handler Chain加工消息

    承前 本文的示例,是基于前一篇文章中的实例而改进的,如果想要运行本文的代码例子,需要先实现前一篇的代码. 前一篇文章JAX-WS开发WebService初级 Handler概念 在WebService ...

  8. Bootstrap之Carousel不能自动播放的解决办法(转)

    Bootstrap是一个非常好的css/javaScript框架,尤其对于移动端的自适应和适配能力都比较强. 用Bootstrap自带的Carousel写了一个图片轮播的广告部分,用js调用后却出现了 ...

  9. web前端图片极限优化策略

    随着web的发展,网站资源的流量也变得越来越大.据统计,60%的网站流量均来自网站图片,可见对图片合理优化可以大幅影响网站流量,减小带宽消耗和服务器压力. 一.现有web图片格式 我们先来看下现在常用 ...

  10. Calibre - book library management application

    http://calibre-ebook.com/ Library Management E-book conversion Syncing to e-book reader devices Down ...