mvcpager之学习

一、项目中必须引用MVCpager.dll,现在是3.0版本。

二、添加页面view.Model

namespace Model.ViewModel
{
    public class VolumeTree
    {
        public int VolumeID { get; set; }
        public string VolumeName{ get; set; }
        public List<Subsection> SubsectionS { get; set; }

    }
    public class Subsection
    {
        public int SubsectionID { get; set; }
        public string SubsectionName { get; set; }

        public string PoetryName { get; set; }

    }
    public class Poet {
        public int PoetID { get; set; }
        public string powtName { get; set; }
    }
    public class Poetry
    {
        public int PoetryID { get; set; }
        public string PoetryName { get; set; }
        public Poet poet { get; set; }

    }
}

View Model

三、控制器代码,也是默认页面index

 public ActionResult index(int? id = 1)
        {
            // List<Model.ViewModel.VolumeTree> VolunePage = new List<Model.ViewModel.VolumeTree>();
            // int totalCount = 0; /*OperateContext.Current.BLLSession.IVolumeBLL.GetListBy_NoTrack(s => s.VolumeID > 0).ToList().Count();*/
            int pageIndex = id ?? 1;
            // var VolunePage = OperateContext.Current.BLLSession.IVolumeBLL.getPageDate(pageIndex, 2,s=>s.VolumeID>0,s=>s.VolumeID, out totalCount,true);
            var VolunePage = OperateContext.Current.BLLSession.IVolumeBLL.GetListBy_NoTrack(s => s.VolumeID > 0).Select(s => new Model.ViewModel.VolumeTree
            {
                VolumeID = s.VolumeID,
                VolumeName = s.VolumeName,
                SubsectionS = s.Subsection.Select(u => new Model.ViewModel.Subsection
                {
                    SubsectionID = u.SubsectionID,
                    SubsectionName = u.SubsectionName,
                    PoetryName = u.Poetries.Select(p => p.PoetryName).FirstOrDefault()

                }).ToList()
            }).ToList();
            PagedList<Model.ViewModel.VolumeTree> mPage = new PagedList<Model.ViewModel.VolumeTree>(VolunePage, pageIndex, 5);
            //mPage.TotalItemCount = totalCount;
            //mPage.CurrentPageIndex = (int)(id ?? 1);

            if (Request.IsAjaxRequest())
            {
                return PartialView("VolumeTreeMvcPager", mPage);
            }
            return View(mPage);

控制器代码

四、index页面cshtml,这是第一视图,获取model,同时传给VolumeMvcpagerTree.cshtml

@model PagedList<Model.ViewModel.VolumeTree>
@using Webdiyer.WebControls.Mvc;
@{
    ViewBag.Title = "index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
    <h2>管理</h2>

    <div id="MVCpager">
        @Html.Partial("VolumeMvcpagerTree", Model)
    </div>
</div>

index页面

五、局部视图,将主页index的Model解析,绑定数据,用户呈现,主要是要把Mvcpager的分页html.help搞定

@model PagedList<Model.ViewModel.VolumeTree>
@using Webdiyer.WebControls.Mvc;

<ul>

    @if (Model != null)
    {
        foreach (var item in Model)
        {
            <li>
                @item.VolumeName<span>‘<a href="javascript:;">增加分卷</a></span>
                <ul>
                    @if (item != null)
                    {
                        foreach (var Sub in item.SubsectionS)
                        {
                            <li>@Sub.SubsectionName</li> }

                    }
                </ul>
            </li>
        }
    }

</ul>

@if (Model != null)
{
    <div class="text-center">
        @Ajax.Pager(Model, new PagerOptions
   {
       PageIndexParameterName = "id",
       FirstPageText = "首页",
       PrevPageText = "上一页",
       NextPageText = "下一页",
       LastPageText = "末页",
       NumericPagerItemCount = 5,
       ContainerTagName = "ul",
       CssClass = "pagination",
       CurrentPagerItemTemplate = "<li class=\"active\"><a href=\"#\">{0}</a></li>",
       DisabledPagerItemTemplate = "<li class=\"disabled\"><a>{0}</a></li>",
       PagerItemTemplate = "<li>{0}</li>"
   }).AjaxOptions(a => a.SetUpdateTargetId("MVCpager"))
    </div>
}

时间: 2024-11-05 22:46:30

mvcpager之学习的相关文章

个人学习jQuery uI dialog +mvcpager心得

最近上班过程中用到了jQuery ui,说实话我也没得用过这个jQuery ui 框架,写的不好的地方希望大家多多指点. 首先,我们在用到这个dialog这个弹出层方法事,先定义一个 ,当然你也可以直接用这个dialog方法里面的属性来实现,本人针对这个dialog的方法做了一个增删查改. 控制器方法: /// /// 公共字典信息集合 /// /// /// public ActionResult Vocabulary(int id=1) { var List = comm_DictTypeB

分页控件AspNetPager学习笔记

1.AspNetPager简介 AspNetPager是一款开源.简单易用.可定制化等等各种优点的Web分页控件. 2.使用方法 1)下载AspNetPager.dll文件(http://www.webdiyer.com/aspnetpager/downloads/) 2)添加对该文件的引用 3)工具栏右键-选择项,把该dll控件添加进工具栏 4)把该控件拖进设计界面,设置控件的各种属性如下: <webdiyer:AspNetPager ID="AspNetPager1" run

MVC3+EF4.1学习系列(二)-------基础的增删改查和持久对象的生命周期变化

上篇文章中 我们已经创建了EF4.1基于code first的例子  有了数据库 并初始化了一些数据  今天这里写基础的增删改查和持久对象的生命周期变化 学习下原文先把运行好的原图贴来上~~ 一.创建详细页 首先 我们先在控制器下 添加详细页的方法 因为这篇文章后面要介绍持久对象声明周期的变化 所以在这里先看下有哪些状态 EF里一共有这五中生命状态类型 其实 看名字我们可以大概猜测出个一二三来~~  游离的 未改变的  新添加的  已删除的 修改的  但是是怎么变化的能 我们在后面的代码中实践与

扩展方法学习发展之路

大学学习的java,工作后转成了C#,由于工作需要,全力去学习了C#,学习中,相信大家都会有相同的疑惑,在判断一个字符串是否为空的时候总会用到string.IsNullOrEmpty(s)这个方法,最开始就想到了是不是反射,后面才知道这是c#的扩展方法,后面的内容慢慢讲解我对扩展方法由浅到深的理解与用法. 1:扩展方法的自定义实现,我这里特别用到了判断类型是否为数值类型的方法(可以去比较学习下),里面子定义了4个扩展方法 1 namespace ConsoleApplication1 2 { 3

Vue.js学习笔记:属性绑定 v-bind

v-bind  主要用于属性绑定,Vue官方提供了一个简写方式 :bind,例如: <!-- 完整语法 --> <a v-bind:href="url"></a> <!-- 缩写 --> <a :href="url"></a> 绑定HTML Class 一.对象语法: 我们可以给v-bind:class 一个对象,以动态地切换class.注意:v-bind:class指令可以与普通的class特

Java多线程学习(吐血超详细总结)

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 目录(?)[-] 一扩展javalangThread类 二实现javalangRunnable接口 三Thread和Runnable的区别 四线程状态转换 五线程调度 六常用函数说明 使用方式 为什么要用join方法 七常见线程名词解释 八线程同步 九线程数据传递 本文主要讲了java中多线程的使用方法.线程同步.线程数据传递.线程状态及相应的一些线程函数用法.概述等. 首先讲一下进程和线程

微信小程序学习总结(2)------- 之for循环,绑定点击事件

最近公司有小程序的项目,本人有幸参与其中,一个项目做下来感觉受益匪浅,与大家做下分享,欢迎沟通交流互相学习. 先说一下此次项目本人体会较深的几个关键点:微信地图.用户静默授权.用户弹窗授权.微信充值等等. 言归正传,今天分享我遇到的关于wx:for循环绑定数据的一个tips:  1. 想必大家的都知道wx:for,如下就不用我啰嗦了: <view class="myNew" wx:for="{{list}}">{{item.title}}<view

【安全牛学习笔记】

弱点扫描 ╋━━━━━━━━━━━━━━━━━━━━╋ ┃发现弱点                                ┃ ┃发现漏洞                                ┃ ┃  基于端口五福扫描结果版本信息(速度慢)┃ ┃  搜索已公开的漏洞数据库(数量大)      ┃ ┃  使用弱点扫描器实现漏洞管理            ┃ ╋━━━━━━━━━━━━━━━━━━━━╋ [email protected]:~# searchsploit Usage:

winform学习日志(二十三)---------------socket(TCP)发送文件

一:由于在上一个随笔的基础之上拓展的所以直接上代码,客户端: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using Sys