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. validate插件深入学习-03validate()方法配置项

    validate()方法配置项 rules 定义校验规则 messages 定义提示信息 上面这两个已经介绍过了 rules里隐藏的属性depends,只有符合条件(返回true)的时候才会执行 su ...

  2. windos系统定时执行批处理文件(bat文件)

    Win7怎么设置定时自动执行任务? 点击开始按钮,依次选择打开“所有程序—附件—系统工具”,找到“任务计划程序”即可打开Win7系统的任务计划设置面板.也可以点击Win7开始按钮,在多功能搜索框中输入 ...

  3. Qt编程'""hello world

    #include<QApplication>#include<QLabel>int main(int argc,char*argv[]){QApplicatin app(arg ...

  4. angularjs的$on、$emit、$broadcast

    如何在作用域之间通信呢? 1.创建一个单例服务,然后通过这个服务处理所有子作用域的通信. 2.通过作用域中的事件处理通信.但是这种方法有一些限制:例如,你并不能广泛的将事件传播到所有监控的作用域中.你 ...

  5. AVSampleBufferDisplayLayer----转

    http://blog.csdn.net/fernandowei/article/details/52179631 目前大多数iOS端的视频渲染都使用OpenGLES,但如果仅仅为了渲染而不做其他的例 ...

  6. guardian keytab生成不了

    vim /var/kerberos/krb5kdc/kadm5.acl 将*e改成* /etc/init.d/kadmin restart 重启kadmin

  7. i.Windows下APR安装过程

    1.下载安装native Windows下的APR安装和配置比较简单,可以直接下载Tomcat-native的二进制的版本包: 下载之后的目录结构为: tcnative-1.dll这个库已经包含了AP ...

  8. JVM垃圾回收机制总结:调优方法

    转载: JVM垃圾回收机制总结:调优方法 JVM 优化经验总结 JVM 垃圾回收器工作原理及使用实例介绍

  9. python——django入门篇

    要做一只有自学能力的pythoner,尽管大多数自学都是野生并不规范的,会遇到诸多坑,最后用稀奇古怪的方法解决了,但是先了解一些为以后真正学习道路填坑方便了简直不只一点点...重点来了:感觉以班里同学 ...

  10. Asp.net的request类

    ASP.NET获取客户端信息,暂时就这几个,有待添加~~ 1. 在ASP.NET中专用属性: 获取服务器电脑名:Page.Server.ManchineName 获取用户信息:Page.User 获取 ...