FE+MVC分页

 public ActionResult Create()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Create(Books book)
        {
            book.CreateDate = DateTime.Now;
            dbContext.Book.Add(book);
            var res = dbContext.SaveChanges();
            if (res > 0)
            {
                //return Content("添加成功");
                return RedirectToAction("Index");
            }
            else
            {
                return Content("新增失败");
            }
        }

        public ActionResult Edit(int id)
        {
            var book = dbContext.Book.Find(id);
            return View(book);
        }

        [HttpPost]
        public ActionResult Edit(Books book)
        {
            dbContext.Entry<Books>(book).State = System.Data.Entity.EntityState.Modified;
            var res = dbContext.SaveChanges();
            if (res > 0)
            {
                return RedirectToAction("Index");
            }
            else
                return Content("修改失败!");
        }

        //[HttpPost]
        //public ActionResult Edit(Books book)
        //{
        //    dbContext.Entry<Books>(book).State = System.Data.Entity.EntityState.Modified;
        //    var res = dbContext.SaveChanges();
        //    if (res > 0)
        //    {
        //        return RedirectToAction("Index");
        //    }
        //    else
        //    {
        //        return Content("修改失败");
        //    }
        //}

        public ActionResult Delete(int id)
        {
            //获取Id的对象
            Books book = new Books { Id = id };
            dbContext.Entry<Books>(book).State = System.Data.Entity.EntityState.Deleted;
            var res = dbContext.SaveChanges();
            if (res > 0)
            {
                return RedirectToAction("Index");
            }
            else
                return Content("删除失败");

        }

namespace MSCampus.MVC.Models
{
    [Table("BookInfos")]
    public class Books
    {
        [Key]
        [Display(Name = "编号")]
        public int Id { get; set; }

        [Display(Name = "名称")]
        [Column("BookName")]
        public string Name { get; set; }

        [Display(Name = "价格")]
        public decimal Price { get; set; }

        [Display(Name = "分类")]
        public string Category { get; set; }

        [Display(Name = "创建时间")]
        public DateTime CreateDate { get; set; }

    }
}
//声明EF数据库上下文
        private MSCampusDataModel dbContext = new MSCampusDataModel();

        // GET: Book
        public ActionResult Index(string txtName, int pageIndex = 1)
        {
            //EF分页
            const int pageSize = 5;
            IPagedList<Books> listbook = null;
            if (!string.IsNullOrEmpty(txtName))
            {
                listbook = dbContext.Book.OrderByDescending(n => n.Id)
                    .Where(n => n.Name.Contains(txtName))
                    .ToPagedList(pageIndex, pageSize);
            }
            else
            {
                listbook = dbContext.Book.OrderByDescending(n => n.Id)
                    .ToPagedList(pageIndex, pageSize);
            }
            ViewBag.QueryTitle = txtName;
            return View(listbook);

            //var list = dbContext.Book;
            //return View(list);
        }

  

@model IEnumerable<MSCampus.MVC.Models.Books>
@using X.PagedList
@using X.PagedList.Mvc

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>

@using (Html.BeginForm("Index", "Book"))
{
    <div class="form-inline" style="margin:20px;">
        <div class="form-group">
            <label for="inputPassword2" class="sr-only">Title</label>
            @Html.TextBox("txtName", ViewData["QueryTitle"], new { @class = "form-control", placeholder = "标题" })
        </div>
        <button type="submit" class="btn btn-primary">查 询</button>
    </div>

}

<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Price)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Category)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.CreateDate)
        </th>
        <th></th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Price)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Category)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CreateDate)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
                @Html.ActionLink("Details", "Details", new { id = item.Id }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.Id })
            </td>
        </tr>
    }
</table>

<div style="text-align:center;">
    @Html.PagedListPager((IPagedList)Model, pageIndex => (Url.Action("Index", new { pageIndex, txtTitle = ViewData["QueryTitle"] })))
</div>

  

  

时间: 2024-10-24 19:42:16

FE+MVC分页的相关文章

C# MVC分页,razor

IMVCPages interface IMVCPages { int GetItemsCount(); int GetPageSize(); int GetPagesCount(); /// <summary> /// 当前页面索引,用于分页 /// </summary> int CurrentPageIndex { get; set; } } View <div> 查询到 @Model.GetItemsCount() 条记录,共 @Model.GetPagesCou

MVC 分页获取数据 及点选按钮

@model PagedList<Lyxm.Entity.Suggestion>@using Webdiyer.WebControls.Mvc <div>    <ul class="breadcrumb">        <li>            @Html.ActionLink("基础维护", "", "")            <span class=&quo

PagedList.MVC分页

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

转:MVC分页

原文地址:http://www.cnblogs.com/iamlilinfeng/p/4075292.html 分页总是搞得我很烦,也是因为刚接触,貌似有好多插件,之前在用一个,可是后来发现一翻页原来的筛选项就提交不上了,然后就换了这个,其实这篇文章对我而言最起作用的还是View文件中BeginForm中的参数 new RouteValueDictionary { { "id", "" } },也许原来的分页方式加上这个参数也是可以的,还没尝试. 前言 前几天在博客

Mvc分页组件MvcSimplePager代码重构

1 Mvc分页组件MvcSimplePager代码重构 1.1 Intro 1.2 MvcSimplePager 代码优化 1.3 MvcSimplePager 使用 1.4 End Mvc分页组件MvcSimplePager代码重构 Intro MvcSimplePager 是为解决分页的而做的一个通用.扩展性良好的轻量级分页扩展,可以自定义分页时调用的方法,自定义分页所用的样式,样式与代码分离,维护方便. 网上有许多分页都是查询所有数据再从中查询某一页的数据,但是个人感觉数据很少时还可以,如

Mvc 分页栏扩展方法

using System; using System.Collections.Generic; using System.Reflection; using System.Text; using System.Web.Mvc; namespace System.Web.Mvc {     #region Mvc 分页栏扩展方法 HtmlPaginationBar /// <summary>     ///  Mvc 分页栏扩展方法     /// </summary>     pu

ASP.NET MVC 分页MvcPager

ASP.NET MVC 分页MvcPager 开源框架  admin  8个月前 (08-20)  1484浏览 他连续12年获得微软MPV称号,几年前,他写的ASP.NET分页控件,被很多.NET开发人员使用,现在他又写了名为MvcPager的分页扩展,并免费开源,支持MVC通用分页,与EF完美结合,支持AJAX分页,简单灵活,提供多个演示案例,是迄今为止最好的MVC分页方式,推荐各位ASP.NET MVC开发者使用. 分页是每个项目必须面对的技术点,不好的分页不但体验不好,而且会影响系统的整

Asp.NET MVC X.PageList.MVC 分页详解以及自定义样式

最近在研究MVC,自己做了个小项目:其中用到了分页功能,在网上找了很多相关的第三方插件,最后选择了X.PageList.MVC,插件是开源的,有利于学习所以选择了它,这并不是说其它的分页插件不好,只是个人爱好,当然,用于以后还是会说好的.^^ 首先可以看下源,在GitHub上,地址如下: X.PageList.MVC GitHub 源代码地址 初步看了一个项目比较精简,核心部分为X.PagedList.Mvc中的内容,配置文件为:PagedListRenderOptions.cs 这个插件可以完

Asp.Net MVC 分页、检索、排序整体实现

原文:Asp.Net MVC 分页.检索.排序整体实现 很多时候需要这样的功能,对表格进行分页.排序和检索.这个有很多实现的方式,有现成的表格控件.用前端的mvvm,用户控件.但很多时候看着很漂亮的东西你想进一步控制的时候却不那么如意.这里自己实现一次,功能不是高大全,但求一个清楚明白,也欢迎园友拍砖.前端是bootstrap3+jPaginate,后台基于membership.没什么难点. 先上效果图. 分页其实就是处理好 每页项目数.总项目数.总页数.当前页.为了方便复用,就先从仓库开始说起