`

MVC学习之一_____实现列表及分页

    博客分类:
  • MVC4
 
阅读更多
模板页代码:
@model PagedList<AppBasicData>   //这里通过绑定PagedList数据给分页提供数据源
@using Webdiyer.WebControls.Mvc; //这个是第三方分页控件的引用
@{

}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>IndexPage</title>
    <link rel="stylesheet" type="text/css" href="~/Content/BasicData/div_table.css" />
</head>
<body>
    <div> 
        <div class="table">
            <div class="tab_tr">
                    <div class="tab_th">名称</div>
                    <div class="tab_th">key值</div>
                    <div class="tab_th">value值</div>
                    <div class="tab_th">创建时间</div>
                    <div class="tab_th">操作</div>
            </div>
            
                @foreach (var item in Model)
                {
                    <div class="tab_tr">
                        <div class="tab-td">@item.Name</div>
                        <div class="tab-td">@item.Key</div>
                        <div class="tab-td">@item.Value</div>
                        <div class="tab-td">@item.CreateDate</div>
                        <div class="tab-td">@Html.ActionLink("编辑", "Edit",new {key = @item.Key}) |@Html.ActionLink("删除", "Delete", new { id = @item.Key})</div>
                    </div>
                }
        </div>
        <div class="text-right">  //这里是第三方分页控件的使用
            @Html.Pager(Model).Options(o => o.SetPageIndexParameterName("id").SetHorizontalAlign("right").SetPagerItemTemplate("{0}&nbsp;"))
        </div>
    </div>
</body>
</html>


Controller层的代码
[HttpGet]
        public ActionResult IndexPage(int id = 1)
        {
            //读取配置的分页条数
            int pageSize = int.Parse(ConfigurationManager.AppSettings["PageSize"].ToString());
            using (var db = new MyDbContext())
            {
                PagedList<AppBasicData> list = db.AppBasicDatas.Where(x => x.DeleteFlag == false).OrderByDescending(a => a.CreateDate).ToPagedList(id, pageSize);
                return View(list);
            }
        }

备注:Controller层取数据库的值时用了db.AppBasicDatas  这个是用EntityFramework Reverse POCO Code First在代码中自动生成的,可参考我之前的同名博客
此外第三方分页控件是:MvcPager   官网地址是:http://www.webdiyer.com/mvcpager/relatedlinks/   里面有对控件的使用案例,可参考


css样式表:
.table, .table * {
    margin: 0 auto;
    padding: 0;
    font-size: 12px;
    font-family: Arial, 宋体, Helvetica, sans-serif;
}

.table {
    display: table;
    width: 80%;
    border-collapse: collapse;
}

.tab_tr {
    display: table-row;
    height: 30px;
}

.tab_th {
    display: table-cell;
    font-weight: bold; /*给标题字体加粗*/
    height: 100%;
    border: 1px solid gray; /*设置单元格边框*/
    text-align: center;
    vertical-align: middle;
}

.tab-td {
    display: table-cell;
    height: 100%;
    border: 1px solid gray;
    text-align: center;
    vertical-align: middle;
}




补充说明:
1、通过@model PagedList<AppBasicData>声明,模板页就知道要绑定数据的类型
2、模板页的数据集合,通过controller层  return View(list); 拿到对应的数据集
3、PagedList<>是MvcPager分页控件定义的类型,必须在这里面返回集合,才能被控件加载识别,否则会报错
4、如果对分页控件不熟悉,可以在@model 声明时直接定义List<AppBasicData>,这样在列表页会看到所有的表记录信息。
分享到:
评论

相关推荐

    PHP分页类,完美版(可以植入到MVC框架中)

    在PHP开发中,分页是常见的功能之一,用于处理大量数据的显示,提高网页加载速度,提升用户体验。本文将详细讲解一个名为“PHP分页类,完美版”的工具,它适用于MVC框架,并具备多种分页模式,尤其适合新手学习和...

    C# 无刷新分页 mvc 表格案例

    综上所述,"C#无刷新分页mvc表格案例"涵盖了前后端通信、数据处理、用户体验等多个方面,是构建高效Web应用的关键技术之一。通过学习和实践此类案例,开发者能够提升自己的C# MVC开发技能,同时理解如何利用现代Web...

    基于IPagedList的Asp.Net MVC分页源码

    在Asp.Net MVC框架中,实现高效的分页功能是提高用户体验的关键之一。`IPagedList`是一种常见的用于分页的数据模型接口,它可以帮助我们轻松地在视图中展示大量的数据,而不会一次性加载所有数据导致性能下降。这个...

    PHP与MVC

    - 博文链接:[PHP MVC学习](https://caihorse.iteye.com/blog/1064068) - 在线教程:W3School的PHP教程(包括MVC部分) - 开源框架文档:如Laravel、Symfony、CodeIgniter等的官方文档 总之,理解并熟练运用PHP与...

    javaMVC框架带分页的学生增删改查系统

    在这个"javaMVC框架带分页的学生增删改查系统"中,我们主要关注的是如何使用MVC模式来实现对学生的数据操作,同时包含了分页功能,使得大量学生数据的管理更加高效。 **MVC模式详解:** 1. **模型(Model)**:在...

    MVC学习之——20 Recipes MVC

    根据提供的文件信息,我们可以归纳出一系列与MVC(Model-View-Controller)框架相关的知识点,这些知识点主要聚焦于具体的编程实践和技术应用上。下面将详细展开各知识点,并结合标题、描述以及部分内容进行深入分析...

    MVC多层分页演示程序源码

    通过分析和运行这个示例程序,开发者可以学习到如何在.NET MVC环境中有效地实现分页,理解各层之间的交互,以及如何利用代码生成工具提高开发效率。同时,对于.NET框架和MVC模式的理解也会得到加强,这对于任何想要...

    C# MVC 学习资料

    13. **分页**: 在处理大量数据时,分页是一种常用的技术,文档中可能包含了如何在*** MVC中实现分页的指导。 14. **认证和授权**: 了解如何在*** MVC中实现用户认证和授权机制,例如使用FormsAuthentication、...

    Inspinia2.7+MVC5 后台管理系统

    Inspinia的亮点之一是其直观的交互性和优化的性能,使得用户在操作后台系统时可以感受到流畅的体验。 MVC5(Model-View-Controller)是微软提供的一个用于开发Web应用程序的框架,尤其适合构建复杂的、数据驱动的...

    Asp.net3.5 MVC入门之文章管理源码_新闻文章发布系统.rar

    通过这个Asp.net3.5 MVC文章管理系统源码,初学者可以深入了解MVC框架的使用,学习如何组织代码、处理数据库操作、构建用户界面以及实现常见的Web应用功能。进一步研究和实践这些概念,有助于提升Web开发技能。

    Ext4mvc实现grid

    GridPanel是Ext JS中最常用的组件之一,用于显示和操作表格数据。以下是一些可能涉及的关键点: 1. **创建GridPanel**:定义列(Columns)、配置数据源(Store)以及设置行选择和操作。 2. **数据绑定**:将Store...

    ASP.NET MVC4架构实现与项目实战

    控制器是MVC架构的核心组件之一,负责处理用户的请求并返回响应。本章将详细介绍如何创建控制器类,编写控制器的方法来处理HTTP请求(GET、POST等),以及如何传递数据给视图层展示。此外,还会讨论控制器中的一些...

    Asp.net3.5 MVC入门之文章管理源码_mvcarticledemo.zip

    通过研究这个源码,开发者可以学习到Asp.NET MVC的基本工作原理,以及如何实现一个简单的文章管理系统。这包括了数据库操作、用户界面设计、数据验证、路由配置等多个方面的知识,对于初学者来说是一个很好的实践...

    微软MVC框架教程 案例

    微软的Model-View-Controller(MVC)框架是一种流行的软件设计模式,尤其在Web应用程序开发中广泛应用。这个框架将应用程序的逻辑分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以此实现...

    net_MVC新闻发布系统demo(mvc2.0)

    首先,MVC模式是软件工程中常用的设计模式之一,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。模型负责处理业务逻辑和数据管理,视图负责显示数据,控制器则作为两者之间的...

    Telerik MVC 源码

    此外,Telerik MVC的皮肤和主题系统也是其亮点之一。源码中包含了一系列预设的皮肤,允许开发者快速改变应用的外观。同时,源码也揭示了如何创建自定义主题,以满足特定的设计需求。 对于开发者来说,理解Telerik ...

    MVC HtmlHelper扩展类(PagingHelper)实现分页功能

    1. MVC模型和视图帮助器的概念:MVC即模型-视图-控制器,是常用的设计模式之一,用于开发用户界面。在*** MVC中,HtmlHelper是一个用于辅助视图的类,它提供了一些扩展方法,可以生成HTML元素。 2. HtmlHelper扩展...

    ExtJS的MVC模式

    ExtJS的MVC模式是其框架的核心特性之一,主要用于组织和管理复杂的用户界面代码,确保应用的可维护性和可扩展性。在深入讲解MVC模式之前,先了解一下ExtJS本身。ExtJS是一款基于JavaScript的开源UI库,它提供了一套...

    ASP.net MVC SportsStore项目开发一

    9. **分页(Paging)**:在大型数据集的情况下,学会实现分页功能很重要。SportsStore可能包含分页逻辑,让用户能够按页浏览商品。 10. **Ajax**:为了提高用户体验,项目可能使用Ajax技术进行异步数据加载,如无...

    ios应用源码之一个简易qq列表,仅供学习qq_tableview 2018127

    标题“ios应用源码之一个简易qq列表,仅供学习qq_tableview 2018127”表明这是一份用于教学目的的源代码,模拟了QQ应用中的列表视图。描述中的内容简洁,主要强调这是一个学习`UITableView`的机会。标签“ios”、“qq...

Global site tag (gtag.js) - Google Analytics