EF+MVC+Bootstrap 项目实践 Day11
继续完成首页跳转判断
一、用js根据点击判断哪个视图并显示相应提示
如果是首页,就显示首页的提示并去掉breadcrumb导航
如果是具体的页面,就根据DOM判断路径并显示,还要把这一级的折叠展开并把当前视图的a标签加上.active
左侧菜单会闪一下,因为是先载入页面,再判断展开和选中的。这样效果不怎么好,如果是iframe之类,左侧是不动的,不用人为去判断是在哪一级。
functionLoadMenuTip(){$("#MenuDiv a[title]").each(function(){if(window.location.href.indexOf($(this).attr("href")) > 0){var $this = $(this);var text = $this.text();$(document).attr('title', text); //改变标题栏$this.parent().addClass("active").parents(".panel-collapse").addClass("in"); //变为选中$("#MenuTipDiv .page-title span").html(text);$("#MenuTipDiv .page-title small").html($this.attr("title"));$("#MenuTipDiv .breadcrumb li:eq(0) span").html("管理首页");if($this.parent().is("h4")) $("#MenuTipDiv .breadcrumb li:gt(0)").remove();else{$("#MenuTipDiv .breadcrumb li:eq(1) span").html($this.parents(".panel-default").find(".panel-heading a").text());$("#MenuTipDiv .breadcrumb li:eq(2) span").html(text);}return false;}}); }
二、展示数据
1、先手动弄一个数据,再想办法去数据库取。
源码有分页公共方法
/// <summary>///分页数据集合,用于后端返回分页好的集合及前端视图分页控件绑定/// </summary>/// <typeparam name="T"></typeparam>public class PagedList<T> : List<T>, IPagedList{public PagedList(IList<T> items, int pageIndex, intpageSize){PageSize=pageSize;TotalItemCount=items.Count;CurrentPageIndex=pageIndex;for(int i = StartRecordIndex - 1; i < EndRecordIndex; i++){Add(items[i]);}}public PagedList(IEnumerable<T> items, int pageIndex, int pageSize, inttotalItemCount){AddRange(items);TotalItemCount=totalItemCount;CurrentPageIndex=pageIndex;PageSize=pageSize;}public int ExtraCount{get;set;}public int TotalPageCount => (int) Math.Ceiling(TotalItemCount/(double) PageSize);public int StartRecordIndex => (CurrentPageIndex - 1)*PageSize + 1;public int EndRecordIndex => TotalItemCount > CurrentPageIndex*PageSize ? CurrentPageIndex*PageSize : TotalItemCount;public int CurrentPageIndex{get;set;}public int PageSize{get;set;}public int TotalItemCount{get;set;}}public static classPageLinqExtensions{public static PagedList<T> ToPagedList<T>(this IQueryable<T> allItems, int pageIndex, intpageSize){if(pageIndex < 1) pageIndex = 1;var itemIndex = (pageIndex - 1)*pageSize;var pageOfItems =allItems.Skip(itemIndex).Take(pageSize).ToList();var totalItemCount =allItems.Count();return new PagedList<T>(pageOfItems, pageIndex, pageSize, totalItemCount);}}
具体还没去看,但非常精简,很不错
2、从数据库取数据
publicActionResult Index(){var dbContext = newCrmEntities();IQueryable<Customer> queryList =dbContext.Customer;PagedList<Customer> customerPageList=queryList.OrderByDescending(x => x.ID).ToPagedList(1, 10);returnView(customerPageList);}
先手动取第1页的10条,再细化分页
3、分页
原来这份源码用的分页组件是这个很出名的MvcPager,可以好好留着,以后项目还可以用。
.MvcPagerDiv{clear:both;color:red;font-size:16px;font-weight:bold;margin:0;padding:0;display:block; }.MvcPagerDiv>div{text-align:center;}.MvcPagerDiv a{background:#eee;border:1px solid #ddd;color:#333;font-weight:normal;padding:3px 10px; }.MvcPagerDiv span{background-color:#ddd;color:#000;margin:5px;padding:4px 10px; }
参照源码调了下样式,看着还不错
转载于:https://www.cnblogs.com/liuyouying/p/5060249.html
EF+MVC+Bootstrap 项目实践 Day11相关推荐
- 菜鸟级三层框架(EF+MVC)项目实战之 系列一 EF零基础创建领域模型
系列概述:全系列会详细介绍抽象工厂三层的搭建,以及EF高级应用和 ASP.NET MVC3.0简单应用,应用到的技术有Ef.Lambda.Linq.Interface.T4等. 由于网上对涉及到的技术 ...
- MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- MVC项目实践,在三层架构下实现SportsStore-03,Ninject控制器工厂等
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- MVC项目实践,在三层架构下实现SportsStore-06,实现购物车
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- [转]Asp.Net大型项目实践(11)-基于MVC Action粒度的权限管理【续】【源码在这里】(在线demo,全部源码)...
本文转自:http://www.cnblogs.com/legendxian/archive/2010/01/25/1655551.html 接上篇Asp.Net大型项目实践(10)-基于MVC Ac ...
- 漫漫人生路:《物流操作系统》项目研发阶段性总结 .NET MVC Bootstrap
<物流操作系统>实训项目研发阶段性总结 作者:黄山鲁居士 任务完成时间:2017年8月15日~11月27日 开发工具与关键技术:VS2015,SQLServer2014 .NET MVC, ...
- Vue + webpack 项目实践
最近在内部项目中做了一些基于 vue + webpack 的尝试,在小范围和同事们探讨之后,还是蛮多同学认可和喜欢的,所以通过 blog 分享给更多人. 首先,我会先简单介绍一下 vue 和 webp ...
- elementui 搭建布局页面路由_【项目实践】使用Vue.js和ElementUI快速实现后台管理系统的界面布局...
前言 大家都知道,后台管理界面不需要很酷炫的动画效果,也不需要花里胡哨的界面布局,只需要简洁易用.清爽明了的界面以便于管理数据.而现在普遍的后台管理系统的界面布局都差不多,上中下结构,然后左边是导航栏 ...
- 基于pnpm + lerna + typescript的最佳项目实践 - 理论篇
本文来自作者@金虹桥程序员 投稿 原文链接:https://juejin.cn/post/7043998041786810398 本系列文章分为两篇:理论篇和实践篇 理论篇:介绍pnpm(pnpm的特 ...
最新文章
- vim学习第2篇:配置自己的vimrc
- python进程、线程的学习心得
- maven jetty/tomcat/wildfly plugin部署应用到本地容器
- Wireshark 【OSI三层】抓包过滤规则和显示过滤规则实例
- 图像间距pitch是什么?(linesize、stride)(指图像中的一行图像数据所占的存储空间的长度)
- hadoop中datanode无法启动,报Caused by: java.net.NoRouteToHostException: No route to host
- 安装dig工具linux系统,在windows下安装dig工具
- 394. Decode String
- 【渝粤题库】广东开放大学 人力资源管理 形成性考核
- “华为搜索”正海外内测;苹果5亿美元和解“降速门”;Firefox隐藏HTTPS | 极客头条...
- IDEA 找不到或无法加载主类
- TI-TMS320F28335学习详解(1)::DSP是什么
- 99乘法表,读写文件,函数
- 基于COMSOL的螺栓连接 的几种有限元建模方
- ROG 冰刃4 在 Ubuntu 环境下安装NVIDIA驱动
- javaIO流详解--读取,写入文件的所有类与方法
- 学python的亲身经历_你要偷偷的学Python,然后惊呆所有人
- spark java文档中文版_Spark3.0中文官网文档
- python一个数如果恰好等于它的因子之和,这个数就称为“完数“。
- HTTP 304状态码讲解
热门文章
- Java队列Disruptor 的使用
- Apache POI读取Excel
- 查看Ubuntu系统的版本
- 牛顿下山法c语言_数值计算(二十九)修正牛顿法I求解方程的根
- JS实现监控微信小程序
- 《高可用架构·中国初创故事(第3期)》一1.4 认同企业文化
- Java compiler level does not match the version of the installed Java project fac
- 混合线路接入时,360、QQ管家等测速显示电信IP或任意线路的IP
- 出错提示:“Could not flush the DNS Resolver Cache: 执行期间,函数出了问题”的解决方法...
- Linux配置文件字体颜色