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">&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>

时间: 2024-11-29 00:58:47

Asp.net MVC 示例的相关文章

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

MVC 各种传值方式 ViewData传值. HomeController.cs Co de: public ActionResult Index(){       ViewData["Title" ] = "Home Page" ;      ViewData["Message" ] = "Welcome to ASP.NET MVC!" ;      return View();} Views/Home/Index.asp

ASP.NET MVC:窗体身份验证及角色权限管理示例

ASP.NET MVC 建立 ASP.NET 基础之上,很多 ASP.NET 的特性(如窗体身份验证.成员资格)在 MVC 中可以直接使用.本文旨在提供可参考的代码,不会涉及这方面太多理论的知识. 本文仅使用 ASP.NET 的窗体身份验证,不会使用它的 成员资格(Membership) 和 角色管理 (RoleManager),原因有二:一是不灵活,二是和 MVC 关系不太. 一.示例项目 User.cs 是模型文件,其中包含了 User 类: public class User { publ

ABP示例程序-使用AngularJs,ASP.NET MVC,Web API和EntityFramework创建N层的单页面Web应用

本片文章翻译自ABP在CodeProject上的一个简单示例程序,网站上的程序是用ABP之前的版本创建的,模板创建界面及工程文档有所改变,本文基于最新的模板创建.通过这个简单的示例可以对ABP有个更深入的了解,每个工程里应该写什么样的代码,代码如何组织以及ABP是如何在工程中发挥作用的. 源文档地址:https://www.codeproject.com/Articles/791740/Using-AngularJs-ASP-NET-MVC-Web-API-and-EntityFram 源码可以

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

http://www.cnblogs.com/oppoic/p/mvc_authorization_action_result_exception_filters.html ASP.NET MVC Filters 4种默认过滤器的使用[附示例] 过滤器(Filters)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,不是每个请求都会响应内容,只响应特定内容给那些有特定权限的用户,过滤器理论上有以下功能: 判断登录与否或用户权限 决策输出缓存 防盗链 防蜘蛛 本地

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

该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的UpdateTargetId属性,该属性值即是分页后要通过Ajax来更新的 DOM 元素的 ID. Ajax.Pager()方法返回AjaxPager对象,您可以通过Ajax.Pager()方法的重载来传递PagerOptions和MvcAjaxOptions参数,也可以通过新的AjaxPager的Opti

[Fine Uploader] 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]

Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件的 Javascript 组件 This project attempts to achieve a user-friendly file-uploading experience over the web. It's built as a Javascript plugin for developers looking to incorporate file-uploading into

ASP.NET MVC 基于角色的权限控制系统的示例教程

上一次在 .NET MVC 用户权限管理示例教程中讲解了ASP.NET MVC 通过AuthorizeAttribute类的OnAuthorization方法讲解了粗粒度控制权限的方法,接下来讲解基于角色的权限控制方法. 基于角色的权限控制方法概述 基于角色的权限控制系统RBAC(Role Based Access Control)是目前最流行,也是最通用的权限控制系统.所谓基于角色的权限控制,就是将各个操作权限分组,每一个组就是一个角色,举个例子:管理员拥有所有的权限,编辑就只拥有写文章和发布

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

翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架,它支持3种不同的技术来创建websites(网站)和Web应用:他们分别是,Web Pages,Web Forms,和MVC.虽然MVC是一种非常流行的,有完整的用于软件开发模式理论的技术,但它在ASP.NET中却是一种新的技术. 目前最新的版本是2012年发布的ASP.NET MVC4.自从2008年发布

用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]

Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件的 Javascript 组件. This project attempts to achieve a user-friendly file-uploading experience over the web. It's built as a Javascript plugin for developers looking to incorporate file-uploading int