针对Bootstrap Metronic菜单栏整理的笔记分享给大家,供大家参考,具体内容如下
1.简介
1) .环境配置
2) .提取页面
3).动态生成菜单(无限级别树)
2.系统环境配置
项目需要程序数据支撑,这里选择MVC5.0+EF6.0[SQLSERVER](不对MVC架构和SQLServer做出解读)
运行环境:VS2013+MVC5.0+EF6.1+SQLServer2012
解决方案名称:AppSolution 项目名称:App.Web(UI层)与App.Models(数据访问层) -直接访问模式
提取theme下的所有文件到MVC的Content,提取admin的index.html到_Layout.cshtml来准备改造
3.创建数据库和表
数据库:AppDataBase
创建以下数据表,并创建AppDB.edmx
USE [AppDataBase] GO /****** Object: Table [dbo].[SysModule] Script Date: 2015/9/15 21:03:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[SysModule]( [ID] [varchar](50) NOT NULL, --主键ID [Name] [varchar](50) NOT NULL, --菜单名称 [ParentID] [varchar](50) NULL, --上级ID [Url] [varchar](200) NULL, --URL [Iconic] [varchar](200) NULL, --图标 [Sort] [int] NULL, --排序 [Enable] [bit] NOT NULL, --是否显示 [CreateTime] [datetime] NULL, --创建时间 [IsLast] [bit] NOT NULL --是否最后一项 CONSTRAINT [PK_SysModule] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO ALTER TABLE [dbo].[SysModule] WITH NOCHECK ADD CONSTRAINT [FK_SysModule_SysModule] FOREIGN KEY([ParentID]) REFERENCES [dbo].[SysModule] ([Id]) GO ALTER TABLE [dbo].[SysModule] NOCHECK CONSTRAINT [FK_SysModule_SysModule] GO
人为造点数据
INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'0\',\'root\',\'root\',\'Index\',\'icon-settings\',NULL,0,NULL,0) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'1\',\'一级菜单01\',\'0\',\'Index\',\'icon-settings\',NULL,0,NULL,0) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'11\',\'二级菜单01-01\',\'1\',\'Index\',\'icon-settings\',NULL,0,NULL,0) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'111\',\'三级菜单01-01-01\',\'11\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'112\',\'三级菜单01-01-02\',\'11\',\'Index\',\'icon-settings\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'12\',\'二级菜单01-02\',\'1\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'13\',\'二级菜单01-03\',\'1\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'2\',\'一级菜单02\',\'0\',\'Index\',\'icon-settings\',NULL,0,NULL,0) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'21\',\'二级菜单02-01\',\'2\',\'Index\',\'icon-settings\',NULL,0,NULL,0) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'211\',\'三级菜单02-01-01\',\'5\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'212\',\'三级菜单02-01-02\',\'5\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'22\',\'二级菜单02-02\',\'2\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'23\',\'二级菜单02-03\',\'2\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'3\',\'一级菜单03\',\'0\',\'Index\',\'icon-settings\',NULL,0,NULL,0) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'31\',\'二级菜单03-01\',\'3\',\'Index\',\'icon-settings\',NULL,0,NULL,0) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'311\',\'三级菜单03-01-01\',\'31\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'312\',\'三级菜单03-01-02\',\'31\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'32\',\'二级菜单03-02\',\'3\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'33\',\'二级菜单03-03\',\'3\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'4\',\'一级菜单04\',\'0\',\'Index\',\'icon-settings\',NULL,0,NULL,0) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'41\',\'二级菜单04-01\',\'4\',\'Index\',\'icon-link\',NULL,0,NULL,1) INSERT INTO [SysModule] ([ID],[Name],[ParentID],[Url],[Iconic],[Sort],[Enable],[CreateTime],[IsLast]) values (\'42\',\'二级菜单04-02\',\'4\',\'Index\',\'icon-link\',NULL,0,NULL,1) (22 行受影响)
4.提取页面重要布局
我们是后台系统所以我们保留top. left menu和foot3个部分
我已经提取好了,请复制
<!DOCTYPE html>
<html lang=\"en\" class=\"no-js\">
<head>
<meta charset=\"utf-8\" />
<title>Metronic | 版面展示</title>
<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">
<meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />
<meta content=\"\" name=\"description\" />
<meta content=\"\" name=\"author\" />
<link href=\"~/Content/assets/global/plugins/font-awesome/css/font-awesome.min.css\" rel=\"stylesheet\" type=\"text/css\" />
<link href=\"~/Content/assets/global/plugins/simple-line-icons/simple-line-icons.min.css\" rel=\"stylesheet\" type=\"text/css\" />
<link href=\"~/Content/assets/global/plugins/bootstrap/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" />
<link href=\"~/Content/assets/global/plugins/uniform/css/uniform.default.css\" rel=\"stylesheet\" type=\"text/css\" />
<link href=\"~/Content/assets/global/plugins/bootstrap-switch/css/bootstrap-switch.min.css\" rel=\"stylesheet\" type=\"text/css\" />
<!-- END GLOBAL MANDATORY STYLES -->
<!-- BEGIN PAGE LEVEL PLUGIN STYLES -->
<link href=\"~/Content/assets/global/plugins/bootstrap-daterangepicker/daterangepicker-bs3.css\" rel=\"stylesheet\" type=\"text/css\" />
<link href=\"~/Content/assets/global/plugins/fullcalendar/fullcalendar.min.css\" rel=\"stylesheet\" type=\"text/css\" />
<link href=\"~/Content/assets/global/plugins/jqvmap/jqvmap/jqvmap.css\" rel=\"stylesheet\" type=\"text/css\" />
<!-- END PAGE LEVEL PLUGIN STYLES -->
<!-- BEGIN PAGE STYLES -->
<link href=\"~/Content/assets/admin/pages/css/tasks.css\" rel=\"stylesheet\" type=\"text/css\" />
<!-- END PAGE STYLES -->
<!-- BEGIN THEME STYLES -->
<link href=\"~/Content/assets/global/css/components.css\" id=\"style_components\" rel=\"stylesheet\" type=\"text/css\" />
<link href=\"~/Content/assets/global/css/plugins.css\" rel=\"stylesheet\" type=\"text/css\" />
<link href=\"~/Content/assets/admin/layout/css/layout.css\" rel=\"stylesheet\" type=\"text/css\" />
<link href=\"~/Content/assets/admin/layout/css/themes/darkblue.css\" rel=\"stylesheet\" type=\"text/css\" id=\"style_color\" />
<link href=\"~/Content/assets/admin/layout/css/custom.css\" rel=\"stylesheet\" type=\"text/css\" />
<!-- END THEME STYLES -->
<link rel=\"shortcut icon\" href=\"favicon.ico\" />
</head>
<body class=\"page-header-fixed page-quick-sidebar-over-content page-sidebar-closed-hide-logo page-container-bg-solid\">
<!-- BEGIN HEADER -->
<div class=\"page-header navbar navbar-fixed-top\">
<!-- BEGIN HEADER INNER -->
<div class=\"page-header-inner\">
<!-- BEGIN LOGO -->
<div class=\"page-logo\">
<a href=\"index.html\">
<img src=\"~/Content/assets/admin/layout/img/logo.png\" alt=\"logo\" class=\"logo-default\" />
</a>
<div class=\"menu-toggler sidebar-toggler hide\">
</div>
</div>
<!-- END LOGO -->
<!-- BEGIN RESPONSIVE MENU TOGGLER -->
<a href=\"javascript:;\" class=\"menu-toggler responsive-toggler\" data-toggle=\"collapse\" data-target=\".navbar-collapse\">
</a>
<!-- END RESPONSIVE MENU TOGGLER -->
<!-- BEGIN TOP NAVIGATION MENU -->
<div class=\"top-menu\">
<ul class=\"nav navbar-nav pull-right\">
<!-- BEGIN NOTIFICATION DROPDOWN -->
<!-- DOC: Apply \"dropdown-dark\" class after below \"dropdown-extended\" to change the dropdown styte -->
<li class=\"dropdown dropdown-extended dropdown-notification\" id=\"header_notification_bar\">
<a href=\"javascript:;\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" data-hover=\"dropdown\" data-close-others=\"true\">
<i class=\"icon-bell\"></i>
<span class=\"badge badge-default\">
7
</span>
</a>
<ul class=\"dropdown-menu\">
<li class=\"external\">
<h3><span class=\"bold\">12 pending</span> notifications</h3>
<a href=\"extra_profile.html\">view all</a>
</li>
<li>
<ul class=\"dropdown-menu-list scroller\" style=\"height: 250px;\" data-handle-color=\"#637283\">
<li>
<a href=\"javascript:;\">
<span class=\"time\">just now</span>
<span class=\"details\">
<span class=\"label label-sm label-icon label-success\">
<i class=\"fa fa-plus\"></i>
</span>
New user registered.
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"time\">3 mins</span>
<span class=\"details\">
<span class=\"label label-sm label-icon label-danger\">
<i class=\"fa fa-bolt\"></i>
</span>
Server #12 overloaded.
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"time\">10 mins</span>
<span class=\"details\">
<span class=\"label label-sm label-icon label-warning\">
<i class=\"fa fa-bell-o\"></i>
</span>
Server #2 not responding.
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"time\">14 hrs</span>
<span class=\"details\">
<span class=\"label label-sm label-icon label-info\">
<i class=\"fa fa-bullhorn\"></i>
</span>
Application error.
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"time\">2 days</span>
<span class=\"details\">
<span class=\"label label-sm label-icon label-danger\">
<i class=\"fa fa-bolt\"></i>
</span>
Database overloaded 68%.
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"time\">3 days</span>
<span class=\"details\">
<span class=\"label label-sm label-icon label-danger\">
<i class=\"fa fa-bolt\"></i>
</span>
A user IP blocked.
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"time\">4 days</span>
<span class=\"details\">
<span class=\"label label-sm label-icon label-warning\">
<i class=\"fa fa-bell-o\"></i>
</span>
Storage Server #4 not responding dfdfdfd.
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"time\">5 days</span>
<span class=\"details\">
<span class=\"label label-sm label-icon label-info\">
<i class=\"fa fa-bullhorn\"></i>
</span>
System Error.
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"time\">9 days</span>
<span class=\"details\">
<span class=\"label label-sm label-icon label-danger\">
<i class=\"fa fa-bolt\"></i>
</span>
Storage server failed.
</span>
</a>
</li>
</ul>
</li>
</ul>
</li>
<!-- END NOTIFICATION DROPDOWN -->
<!-- BEGIN INBOX DROPDOWN -->
<!-- DOC: Apply \"dropdown-dark\" class after below \"dropdown-extended\" to change the dropdown styte -->
<li class=\"dropdown dropdown-extended dropdown-inbox\" id=\"header_inbox_bar\">
<a href=\"javascript:;\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" data-hover=\"dropdown\" data-close-others=\"true\">
<i class=\"icon-envelope-open\"></i>
<span class=\"badge badge-default\">
4
</span>
</a>
<ul class=\"dropdown-menu\">
<li class=\"external\">
<h3>You have <span class=\"bold\">7 New</span> Messages</h3>
<a href=\"page_inbox.html\">view all</a>
</li>
<li>
<ul class=\"dropdown-menu-list scroller\" style=\"height: 275px;\" data-handle-color=\"#637283\">
<li>
<a href=\"inbox.html?a=view\">
<span class=\"photo\">
<img src=\"~/Content/assets/admin/layout3/img/avatar2.jpg\" class=\"img-circle\" alt=\"\">
</span>
<span class=\"subject\">
<span class=\"from\">
Lisa Wong
</span>
<span class=\"time\">Just Now </span>
</span>
<span class=\"message\">
Vivamus sed auctor nibh congue nibh. auctor nibh auctor nibh...
</span>
</a>
</li>
<li>
<a href=\"inbox.html?a=view\">
<span class=\"photo\">
<img src=\"~/Content/assets/admin/layout3/img/avatar3.jpg\" class=\"img-circle\" alt=\"\">
</span>
<span class=\"subject\">
<span class=\"from\">
Richard Doe
</span>
<span class=\"time\">16 mins </span>
</span>
<span class=\"message\">
Vivamus sed congue nibh auctor nibh congue nibh. auctor nibh auctor nibh...
</span>
</a>
</li>
<li>
<a href=\"inbox.html?a=view\">
<span class=\"photo\">
<img src=\"~/Content/assets/admin/layout3/img/avatar1.jpg\" class=\"img-circle\" alt=\"\">
</span>
<span class=\"subject\">
<span class=\"from\">
Bob Nilson
</span>
<span class=\"time\">2 hrs </span>
</span>
<span class=\"message\">
Vivamus sed nibh auctor nibh congue nibh. auctor nibh auctor nibh...
</span>
</a>
</li>
<li>
<a href=\"inbox.html?a=view\">
<span class=\"photo\">
<img src=\"~/Content/assets/admin/layout3/img/avatar2.jpg\" class=\"img-circle\" alt=\"\">
</span>
<span class=\"subject\">
<span class=\"from\">
Lisa Wong
</span>
<span class=\"time\">40 mins </span>
</span>
<span class=\"message\">
Vivamus sed auctor 40% nibh congue nibh...
</span>
</a>
</li>
<li>
<a href=\"inbox.html?a=view\">
<span class=\"photo\">
<img src=\"~/Content/assets/admin/layout3/img/avatar3.jpg\" class=\"img-circle\" alt=\"\">
</span>
<span class=\"subject\">
<span class=\"from\">
Richard Doe
</span>
<span class=\"time\">46 mins </span>
</span>
<span class=\"message\">
Vivamus sed congue nibh auctor nibh congue nibh. auctor nibh auctor nibh...
</span>
</a>
</li>
</ul>
</li>
</ul>
</li>
<!-- END INBOX DROPDOWN -->
<!-- BEGIN TODO DROPDOWN -->
<!-- DOC: Apply \"dropdown-dark\" class after below \"dropdown-extended\" to change the dropdown styte -->
<li class=\"dropdown dropdown-extended dropdown-tasks\" id=\"header_task_bar\">
<a href=\"javascript:;\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" data-hover=\"dropdown\" data-close-others=\"true\">
<i class=\"icon-calendar\"></i>
<span class=\"badge badge-default\">
3
</span>
</a>
<ul class=\"dropdown-menu extended tasks\">
<li class=\"external\">
<h3>You have <span class=\"bold\">12 pending</span> tasks</h3>
<a href=\"page_todo.html\">view all</a>
</li>
<li>
<ul class=\"dropdown-menu-list scroller\" style=\"height: 275px;\" data-handle-color=\"#637283\">
<li>
<a href=\"javascript:;\">
<span class=\"task\">
<span class=\"desc\">New release v1.2 </span>
<span class=\"percent\">30%</span>
</span>
<span class=\"progress\">
<span style=\"width: 40%;\" class=\"progress-bar progress-bar-success\" aria-valuenow=\"40\" aria-valuemin=\"0\" aria-valuemax=\"100\"><span class=\"sr-only\">40% Complete</span></span>
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"task\">
<span class=\"desc\">Application deployment</span>
<span class=\"percent\">65%</span>
</span>
<span class=\"progress\">
<span style=\"width: 65%;\" class=\"progress-bar progress-bar-danger\" aria-valuenow=\"65\" aria-valuemin=\"0\" aria-valuemax=\"100\"><span class=\"sr-only\">65% Complete</span></span>
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"task\">
<span class=\"desc\">Mobile app release</span>
<span class=\"percent\">98%</span>
</span>
<span class=\"progress\">
<span style=\"width: 98%;\" class=\"progress-bar progress-bar-success\" aria-valuenow=\"98\" aria-valuemin=\"0\" aria-valuemax=\"100\"><span class=\"sr-only\">98% Complete</span></span>
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"task\">
<span class=\"desc\">Database migration</span>
<span class=\"percent\">10%</span>
</span>
<span class=\"progress\">
<span style=\"width: 10%;\" class=\"progress-bar progress-bar-warning\" aria-valuenow=\"10\" aria-valuemin=\"0\" aria-valuemax=\"100\"><span class=\"sr-only\">10% Complete</span></span>
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"task\">
<span class=\"desc\">Web server upgrade</span>
<span class=\"percent\">58%</span>
</span>
<span class=\"progress\">
<span style=\"width: 58%;\" class=\"progress-bar progress-bar-info\" aria-valuenow=\"58\" aria-valuemin=\"0\" aria-valuemax=\"100\"><span class=\"sr-only\">58% Complete</span></span>
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"task\">
<span class=\"desc\">Mobile development</span>
<span class=\"percent\">85%</span>
</span>
<span class=\"progress\">
<span style=\"width: 85%;\" class=\"progress-bar progress-bar-success\" aria-valuenow=\"85\" aria-valuemin=\"0\" aria-valuemax=\"100\"><span class=\"sr-only\">85% Complete</span></span>
</span>
</a>
</li>
<li>
<a href=\"javascript:;\">
<span class=\"task\">
<span class=\"desc\">New UI release</span>
<span class=\"percent\">38%</span>
</span>
<span class=\"progress progress-striped\">
<span style=\"width: 38%;\" class=\"progress-bar progress-bar-important\" aria-valuenow=\"18\" aria-valuemin=\"0\" aria-valuemax=\"100\"><span class=\"sr-only\">38% Complete</span></span>
</span>
</a>
</li>
</ul>
</li>
</ul>
</li>
<!-- END TODO DROPDOWN -->
<!-- BEGIN USER LOGIN DROPDOWN -->
<!-- DOC: Apply \"dropdown-dark\" class after below \"dropdown-extended\" to change the dropdown styte -->
<li class=\"dropdown dropdown-user\">
<a href=\"javascript:;\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" data-hover=\"dropdown\" data-close-others=\"true\">
<img alt=\"\" class=\"img-circle\" src=\"~/Content/assets/admin/layout/img/avatar3_small.jpg\" />
<span class=\"username username-hide-on-mobile\">
Nick
</span>
<i class=\"fa fa-angle-down\"></i>
</a>
<ul class=\"dropdown-menu dropdown-menu-default\">
<li>
<a href=\"extra_profile.html\">
<i class=\"icon-user\"></i> My Profile
</a>
</li>
<li>
<a href=\"page_calendar.html\">
<i class=\"icon-calendar\"></i> My Calendar
</a>
</li>
<li>
<a href=\"inbox.html\">
<i class=\"icon-envelope-open\"></i> My Inbox <span class=\"badge badge-danger\">
3
</span>
</a>
</li>
<li>
<a href=\"page_todo.html\">
<i class=\"icon-rocket\"></i> My Tasks <span class=\"badge badge-success\">
7
</span>
</a>
</li>
<li class=\"divider\">
</li>
<li>
<a href=\"extra_lock.html\">
<i class=\"icon-lock\"></i> Lock Screen
</a>
</li>
<li>
<a href=\"login.html\">
<i class=\"icon-key\"></i> Log Out
</a>
</li>
</ul>
</li>
<!-- END USER LOGIN DROPDOWN -->
<!-- BEGIN QUICK SIDEBAR TOGGLER -->
<!-- DOC: Apply \"dropdown-dark\" class after below \"dropdown-extended\" to change the dropdown styte -->
<li class=\"dropdown dropdown-quick-sidebar-toggler\">
<a href=\"javascript:;\" class=\"dropdown-toggle\">
<i class=\"icon-logout\"></i>
</a>
</li>
<!-- END QUICK SIDEBAR TOGGLER -->
</ul>
</div>
<!-- END TOP NAVIGATION MENU -->
</div>
<!-- END HEADER INNER -->
</div>
<!-- END HEADER -->
<div class=\"clearfix\">
</div>
<!-- BEGIN CONTAINER -->
<div class=\"page-container\">
<!-- BEGIN SIDEBAR -->
<div class=\"page-sidebar-wrapper\">
<!-- DOC: Set data-auto-scroll=\"false\" to disable the sidebar from auto scrolling/focusing -->
<!-- DOC: Change data-auto-speed=\"200\" to adjust the sub menu slide up/down speed -->
<div class=\"page-sidebar navbar-collapse collapse\">
<!-- BEGIN SIDEBAR MENU -->
<!-- DOC: Apply \"page-sidebar-menu-light\" class right after \"page-sidebar-menu\" to enable light sidebar menu style(without borders) -->
<!-- DOC: Apply \"page-sidebar-menu-hover-submenu\" class right after \"page-sidebar-menu\" to enable hoverable(hover vs accordion) sub menu mode -->
<!-- DOC: Apply \"page-sidebar-menu-closed\" class right after \"page-sidebar-menu\" to collapse(\"page-sidebar-closed\" class must be applied to the body element) the sidebar sub menu mode -->
<!-- DOC: Set data-auto-scroll=\"false\" to disable the sidebar from auto scrolling/focusing -->
<!-- DOC: Set data-keep-expand=\"true\" to keep the submenues expanded -->
<!-- DOC: Set data-auto-speed=\"200\" to adjust the sub menu slide up/down speed -->
<ul class=\"page-sidebar-menu \" data-keep-expanded=\"false\" data-auto-scroll=\"true\" data-slide-speed=\"200\">
<!-- DOC: To remove the sidebar toggler from the sidebar you just need to completely remove the below \"sidebar-toggler-wrapper\" LI element -->
<li class=\"sidebar-toggler-wrapper\">
<!-- BEGIN SIDEBAR TOGGLER BUTTON -->
<div class=\"sidebar-toggler\">
</div>
<!-- END SIDEBAR TOGGLER BUTTON -->
</li>
<!-- DOC: To remove the search box from the sidebar you just need to completely remove the below \"sidebar-search-wrapper\" LI element -->
<li class=\"start active open\">
<a href=\"javascript:;\">
<i class=\"icon-folder\"></i>
<span class=\"title\">Multi Level Menu</span>
<span class=\"arrow \"></span>
</a>
<ul class=\"sub-menu\">
<li>
<a href=\"javascript:;\">
<i class=\"icon-settings\"></i> Item 1 <span class=\"arrow\"></span>
</a>
<ul class=\"sub-menu\">
<li>
<a href=\"javascript:;\">
<i class=\"icon-user\"></i>
Sample Link 1 <span class=\"arrow\"></span>
</a>
<ul class=\"sub-menu\">
<li>
<a href=\"#\"><i class=\"icon-power\"></i> Sample Link 1</a>
</li>
<li>
<a href=\"#\"><i class=\"icon-paper-plane\"></i> Sample Link 1</a>
</li>
<li>
<a href=\"#\"><i class=\"icon-star\"></i> Sample Link 1</a>
</li>
</ul>
</li>
<li>
<a href=\"#\"><i class=\"icon-camera\"></i> Sample Link 1</a>
</li>
<li>
<a href=\"#\"><i class=\"icon-link\"></i> Sample Link 2</a>
</li>
<li>
<a href=\"#\"><i class=\"icon-pointer\"></i> Sample Link 3</a>
</li>
</ul>
</li>
<li>
<a href=\"javascript:;\">
<i class=\"icon-globe\"></i> Item 2 <span class=\"arrow\"></span>
</a>
<ul class=\"sub-menu\">
<li>
<a href=\"#\"><i class=\"icon-tag\"></i> Sample Link 1</a>
</li>
<li>
<a href=\"#\"><i class=\"icon-pencil\"></i> Sample Link 1</a>
</li>
<li>
<a href=\"#\"><i class=\"icon-graph\"></i> Sample Link 1</a>
</li>
</ul>
</li>
<li>
<a href=\"#\">
<i class=\"icon-bar-chart\"></i>
Item 3
</a>
</li>
</ul>
</li>
</ul>
<!-- END SIDEBAR MENU -->
</div>
</div>
<!-- END SIDEBAR -->
<!-- BEGIN CONTENT -->
<div class=\"page-content-wrapper\">
<div class=\"page-content\">
<!-- BEGIN SAMPLE PORTLET CONFIGURATION MODAL FORM-->
<div class=\"modal fade\" id=\"portlet-config\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\">
<div class=\"modal-dialog\">
<div class=\"modal-content\">
<div class=\"modal-header\">
<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-hidden=\"true\"></button>
<h4 class=\"modal-title\">Modal title</h4>
</div>
<div class=\"modal-body\">
Widget settings form goes here
</div>
<div class=\"modal-footer\">
<button type=\"button\" class=\"btn blue\">Save changes</button>
<button type=\"button\" class=\"btn default\" data-dismiss=\"modal\">Close</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
<!-- END SAMPLE PORTLET CONFIGURATION MODAL FORM-->
<!-- BEGIN STYLE CUSTOMIZER -->
<div class=\"theme-panel hidden-xs hidden-sm\">
<div class=\"toggler\">
</div>
<div class=\"toggler-close\">
</div>
<div class=\"theme-options\">
<div class=\"theme-option theme-colors clearfix\">
<span>
THEME COLOR
</span>
<ul>
<li class=\"color-default current tooltips\" data-style=\"default\" data-container=\"body\" data-original-title=\"Default\">
</li>
<li class=\"color-darkblue tooltips\" data-style=\"darkblue\" data-container=\"body\" data-original-title=\"Dark Blue\">
</li>
<li class=\"color-blue tooltips\" data-style=\"blue\" data-container=\"body\" data-original-title=\"Blue\">
</li>
<li class=\"color-grey tooltips\" data-style=\"grey\" data-container=\"body\" data-original-title=\"Grey\">
</li>
<li class=\"color-light tooltips\" data-style=\"light\" data-container=\"body\" data-original-title=\"Light\">
</li>
<li class=\"color-light2 tooltips\" data-style=\"light2\" data-container=\"body\" data-html=\"true\" data-original-title=\"Light 2\">
</li>
</ul>
</div>
<div class=\"theme-option\">
<span>
Theme Style
</span>
<select class=\"layout-style-option form-control input-sm\">
<option value=\"square\" selected=\"selected\">Square corners</option>
<option value=\"rounded\">Rounded corners</option>
</select>
</div>
<div class=\"theme-option\">
<span>
Layout
</span>
<select class=\"layout-option form-control input-sm\">
<option value=\"fluid\" selected=\"selected\">Fluid</option>
<option value=\"boxed\">Boxed</option>
</select>
</div>
<div class=\"theme-option\">
<span>
Header
</span>
<select class=\"page-header-option form-control input-sm\">
<option value=\"fixed\" selected=\"selected\">Fixed</option>
<option value=\"default\">Default</option>
</select>
</div>
<div class=\"theme-option\">
<span>
Top Menu Dropdown
</span>
<select class=\"page-header-top-dropdown-style-option form-control input-sm\">
<option value=\"light\" selected=\"selected\">Light</option>
<option value=\"dark\">Dark</option>
</select>
</div>
<div class=\"theme-option\">
<span>
Sidebar Mode
</span>
<select class=\"sidebar-option form-control input-sm\">
<option value=\"fixed\">Fixed</option>
<option value=\"default\" selected=\"selected\">Default</option>
</select>
</div>
<div class=\"theme-option\">
<span>
Sidebar Menu
</span>
<select class=\"sidebar-menu-option form-control input-sm\">
<option value=\"accordion\" selected=\"selected\">Accordion</option>
<option value=\"hover\">Hover</option>
</select>
</div>
<div class=\"theme-option\">
<span>
Sidebar Style
</span>
<select class=\"sidebar-style-option form-control input-sm\">
<option value=\"default\" selected=\"selected\">Default</option>
<option value=\"light\">Light</option>
</select>
</div>
<div class=\"theme-option\">
<span>
Sidebar Position
</span>
<select class=\"sidebar-pos-option form-control input-sm\">
<option value=\"left\" selected=\"selected\">Left</option>
<option value=\"right\">Right</option>
</select>
</div>
<div class=\"theme-option\">
<span>
Footer
</span>
<select class=\"page-footer-option form-control input-sm\">
<option value=\"fixed\">Fixed</option>
<option value=\"default\" selected=\"selected\">Default</option>
</select>
</div>
</div>
</div>
<!-- END STYLE CUSTOMIZER -->
<!-- BEGIN PAGE HEADER-->
<div class=\"page-bar\">
<ul class=\"page-breadcrumb\">
<li>
<i class=\"fa fa-home\"></i>
<a href=\"index.html\">Home</a>
<i class=\"fa fa-angle-right\"></i>
</li>
<li>
<a href=\"#\">版面展示</a>
</li>
</ul>
</div>
<h3 class=\"page-title\">
版面展示 <small>reports & statistics</small>
</h3>
<!-- END PAGE HEADER-->
<!-- BEGIN 版面展示 STATS -->
@RenderBody()
<!-- END 版面展示 STATS -->
<div class=\"clearfix\">
</div>
</div>
</div>
<!-- END CONTENT -->
<!-- BEGIN QUICK SIDEBAR -->
<a href=\"javascript:;\" class=\"page-quick-sidebar-toggler\"><i class=\"icon-close\"></i></a>
<div class=\"page-quick-sidebar-wrapper\">
<div class=\"page-quick-sidebar\">
<div class=\"nav-justified\">
<ul class=\"nav nav-tabs nav-justified\">
<li class=\"active\">
<a href=\"#quick_sidebar_tab_1\" data-toggle=\"tab\">
Users <span class=\"badge badge-danger\">2</span>
</a>
</li>
<li>
<a href=\"#quick_sidebar_tab_2\" data-toggle=\"tab\">
Alerts <span class=\"badge badge-success\">7</span>
</a>
</li>
<li class=\"dropdown\">
<a href=\"javascript:;\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">
More<i class=\"fa fa-angle-down\"></i>
</a>
<ul class=\"dropdown-menu pull-right\" role=\"menu\">
<li>
<a href=\"#quick_sidebar_tab_3\" data-toggle=\"tab\">
<i class=\"icon-bell\"></i> Alerts
</a>
</li>
<li>
<a href=\"#quick_sidebar_tab_3\" data-toggle=\"tab\">
<i class=\"icon-info\"></i> Notifications
</a>
</li>
<li>
<a href=\"#quick_sidebar_tab_3\" data-toggle=\"tab\">
<i class=\"icon-speech\"></i> Activities
</a>
</li>
<li class=\"divider\">
</li>
<li>
<a href=\"#quick_sidebar_tab_3\" data-toggle=\"tab\">
<i class=\"icon-settings\"></i> Settings
</a>
</li>
</ul>
</li>
</ul>
<div class=\"tab-content\">
<div class=\"tab-pane active page-quick-sidebar-chat\" id=\"quick_sidebar_tab_1\">
<div class=\"page-quick-sidebar-chat-users\" data-rail-color=\"#ddd\" data-wrapper-class=\"page-quick-sidebar-list\">
<h3 class=\"list-heading\">Staff</h3>
<ul class=\"media-list list-items\">
<li class=\"media\">
<div class=\"media-status\">
<span class=\"badge badge-success\">8</span>
</div>
<img class=\"media-object\" src=\"~/Content/assets/admin/layout/img/avatar3.jpg\" alt=\"...\">
<div class=\"media-body\">
<h4 class=\"media-heading\">Bob Nilson</h4>
<div class=\"media-heading-sub\">
Project Manager
</div>
</div>
</li>
<li class=\"media\">
<img class=\"media-object\" src=\"~/Content/assets/admin/layout/img/avatar1.jpg\" alt=\"...\">
<div class=\"media-body\">
<h4 class=\"media-heading\">Nick Larson</h4>
<div class=\"media-heading-sub\">
Art Director
</div>
</div>
</li>
<li class=\"media\">
<div class=\"media-status\">
<span class=\"badge badge-danger\">3</span>
</div>
<img class=\"media-object\" src=\"~/Content/assets/admin/layout/img/avatar4.jpg\" alt=\"...\">
<div class=\"media-body\">
<h4 class=\"media-heading\">Deon Hubert</h4>
<div class=\"media-heading-sub\">
CTO
</div>
</div>
</li>
<li class=\"media\">
<img class=\"media-object\" src=\"~/Content/assets/admin/layout/img/avatar2.jpg\" alt=\"...\">
<div class=\"media-body\">
<h4 class=\"media-heading\">Ella Wong</h4>
<div class=\"media-heading-sub\">
CEO
</div>
</div>
</li>
</ul>
<h3 class=\"list-heading\">Customers</h3>
<ul class=\"media-list list-items\">
<li class=\"media\">
<div class=\"media-status\">
<span class=\"badge badge-warning\">2</span>
</div>
<img class=\"media-object\" src=\"~/Content/assets/admin/layout/img/avatar6.jpg\" alt=\"...\">
<div class=\"media-body\">
<h4 class=\"media-heading\">Lara Kunis</h4>
<div class=\"media-heading-sub\">
CEO, Loop Inc
</div>
<div class=\"media-heading-small\">
Last seen 03:10 AM
</div>
</div>
</li>
<li class=\"media\">
<div class=\"media-status\">
<span class=\"label label-sm label-success\">new</span>
</div>
<img class=\"media-object\" src=\"~/Content/assets/admin/layout/img/avatar7.jpg\" alt=\"...\">
<div class=\"media-body\">
<h4 class=\"media-heading\">Ernie Kyllonen</h4>
<div class=\"media-heading-sub\">
Project Manager,<br>
SmartBizz PTL
</div>
</div>
</li>
<li class=\"media\">
<img class=\"media-object\" src=\"~/Content/assets/admin/layout/img/avatar8.jpg\" alt=\"...\">
<div class=\"media-body\">
<h4 class=\"media-heading\">Lisa Stone</h4>
<div class=\"media-heading-sub\">
CTO, Keort Inc
</div>
<div class=\"media-heading-small\">
Last seen 13:10 PM
</div>
</div>
</li>
<li class=\"media\">
<div class=\"media-status\">
<span class=\"badge badge-success\">7</span>
</div>
<img class=\"media-object\" src=\"~/Content/assets/admin/layout/img/avatar9.jpg\" alt=\"...\">
<div class=\"media-body\">
<h4 class=\"media-heading\">Deon Portalatin</h4>
<div class=\"media-heading-sub\">
CFO, H&D LTD
</div>
</div>
</li>
<li class=\"media\">
<img class=\"media-object\" src=\"~/Content/assets/admin/layout/img/avatar10.jpg\" alt=\"...\">
<div class=\"media-body\">
<h4 class=\"media-heading\">Irina Savikova</h4>
<div class=\"media-heading-sub\">
CEO, Tizda Motors Inc
</div>
</div>
</li>
<li class=\"media\">
<div class=\"media-status\">
<span class=\"badge badge-danger\">4</span>
</div>
<img class=\"media-object\" src=\"~/Content/assets/admin/layout/img/avatar11.jpg\" alt=\"...\">
<div class=\"media-body\">
<h4 class=\"media-heading\">Maria Gomez</h4>
<div class=\"media-heading-sub\">
Manager, Infomatic Inc
</div>
<div class=\"media-heading-small\">
Last seen 03:10 AM
</div>
</div>
</li>
</ul>
</div>
<div class=\"page-quick-sidebar-item\">
<div class=\"page-quick-sidebar-chat-user\">
<div class=\"page-quick-sidebar-nav\">
<a href=\"javascript:;\" class=\"page-quick-sidebar-back-to-list\"><i class=\"icon-arrow-left\"></i>Back</a>
</div>
<div class=\"page-quick-sidebar-chat-user-messages\">
<div class=\"post out\">
<img class=\"avatar\" alt=\"\" src=\"~/Content/assets/admin/layout/img/avatar3.jpg\" />
<div class=\"message\">
<span class=\"arrow\"></span>
<a href=\"javascript:;\" class=\"name\">Bob Nilson</a>
<span class=\"datetime\">20:15</span>
<span class=\"body\">
When could you send me the report ?
</span>
</div>
</div>
<div class=\"post in\">
<img class=\"avatar\" alt=\"\" src=\"~/Content/assets/admin/layout/img/avatar2.jpg\" />
<div class=\"message\">
<span class=\"arrow\"></span>
<a href=\"javascript:;\" class=\"name\">Ella Wong</a>
<span class=\"datetime\">20:15</span>
<span class=\"body\">
Its almost done. I will be sending it shortly
</span>
</div>
</div>
<div class=\"post out\">
<img class=\"avatar\" alt=\"\" src=\"~/Content/assets/admin/layout/img/avatar3.jpg\" />
<div class=\"message\">
<span class=\"arrow\"></span>
<a href=\"javascript:;\" class=\"name\">Bob Nilson</a>
<span class=\"datetime\">20:15</span>
<span class=\"body\">
Alright. Thanks! :)
</span>
</div>
</div>
<div class=\"post in\">
<img class=\"avatar\" alt=\"\" src=\"~/Content/assets/admin/layout/img/avatar2.jpg\" />
<div class=\"message\">
<span class=\"arrow\"></span>
<a href=\"javascript:;\" class=\"name\">Ella Wong</a>
<span class=\"datetime\">20:16</span>
<span class=\"body\">
You are most welcome. Sorry for the delay.
</span>
</div>
</div>
<div class=\"post out\">
<img class=\"avatar\" alt=\"\" src=\"~/Content/assets/admin/layout/img/avatar3.jpg\" />
<div class=\"message\">
<span class=\"arrow\"></span>
<a href=\"javascript:;\" class=\"name\">Bob Nilson</a>
<span class=\"datetime\">20:17</span>
<span class=\"body\">
No probs. Just take your time :)
</span>
</div>
</div>
<div class=\"post in\">
<img class=\"avatar\" alt=\"\" src=\"~/Content/assets/admin/layout/img/avatar2.jpg\" />
<div class=\"message\">
<span class=\"arrow\"></span>
<a href=\"javascript:;\" class=\"name\">Ella Wong</a>
<span class=\"datetime\">20:40</span>
<span class=\"body\">
Alright. I just emailed it to you.
</span>
</div>
</div>
<div class=\"post out\">
<img class=\"avatar\" alt=\"\" src=\"~/Content/assets/admin/layout/img/avatar3.jpg\" />
<div class=\"message\">
<span class=\"arrow\"></span>
<a href=\"javascript:;\" class=\"name\">Bob Nilson</a>
<span class=\"datetime\">20:17</span>
<span class=\"body\">
Great! Thanks. Will check it right away.
</span>
</div>
</div>
<div class=\"post in\">
<img class=\"avatar\" alt=\"\" src=\"~/Content/assets/admin/layout/img/avatar2.jpg\" />
<div class=\"message\">
<span class=\"arrow\"></span>
<a href=\"javascript:;\" class=\"name\">Ella Wong</a>
<span class=\"datetime\">20:40</span>
<span class=\"body\">
Please let me know if you have any comment.
</span>
</div>
</div>
<div class=\"post out\">
<img class=\"avatar\" alt=\"\" src=\"~/Content/assets/admin/layout/img/avatar3.jpg\" />
<div class=\"message\">
<span class=\"arrow\"></span>
<a href=\"javascript:;\" class=\"name\">Bob Nilson</a>
<span class=\"datetime\">20:17</span>
<span class=\"body\">
Sure. I will check and buzz you if anything needs to be corrected.
</span>
</div>
</div>
</div>
<div class=\"page-quick-sidebar-chat-user-form\">
<div class=\"input-group\">
<input type=\"text\" class=\"form-control\" placeholder=\"Type a message here...\">
<div class=\"input-group-btn\">
<button type=\"button\" class=\"btn blue\"><i class=\"icon-paper-clip\"></i></button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class=\"tab-pane page-quick-sidebar-alerts\" id=\"quick_sidebar_tab_2\">
<div class=\"page-quick-sidebar-alerts-list\">
<h3 class=\"list-heading\">General</h3>
<ul class=\"feeds list-items\">
<li>
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-info\">
<i class=\"fa fa-check\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
You have 4 pending tasks. <span class=\"label label-sm label-warning \">
Take action <i class=\"fa fa-share\"></i>
</span>
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
Just now
</div>
</div>
</li>
<li>
<a href=\"javascript:;\">
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-success\">
<i class=\"fa fa-bar-chart-o\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
Finance Report for year 2013 has been released.
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
20 mins
</div>
</div>
</a>
</li>
<li>
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-danger\">
<i class=\"fa fa-user\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
You have 5 pending membership that requires a quick review.
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
24 mins
</div>
</div>
</li>
<li>
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-info\">
<i class=\"fa fa-shopping-cart\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
New order received with <span class=\"label label-sm label-success\">
Reference Number: DR23923
</span>
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
30 mins
</div>
</div>
</li>
<li>
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-success\">
<i class=\"fa fa-user\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
You have 5 pending membership that requires a quick review.
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
24 mins
</div>
</div>
</li>
<li>
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-info\">
<i class=\"fa fa-bell-o\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
Web server hardware needs to be upgraded. <span class=\"label label-sm label-warning\">
Overdue
</span>
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
2 hours
</div>
</div>
</li>
<li>
<a href=\"javascript:;\">
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-default\">
<i class=\"fa fa-briefcase\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
IPO Report for year 2013 has been released.
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
20 mins
</div>
</div>
</a>
</li>
</ul>
<h3 class=\"list-heading\">System</h3>
<ul class=\"feeds list-items\">
<li>
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-info\">
<i class=\"fa fa-check\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
You have 4 pending tasks. <span class=\"label label-sm label-warning \">
Take action <i class=\"fa fa-share\"></i>
</span>
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
Just now
</div>
</div>
</li>
<li>
<a href=\"javascript:;\">
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-danger\">
<i class=\"fa fa-bar-chart-o\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
Finance Report for year 2013 has been released.
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
20 mins
</div>
</div>
</a>
</li>
<li>
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-default\">
<i class=\"fa fa-user\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
You have 5 pending membership that requires a quick review.
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
24 mins
</div>
</div>
</li>
<li>
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-info\">
<i class=\"fa fa-shopping-cart\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
New order received with <span class=\"label label-sm label-success\">
Reference Number: DR23923
</span>
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
30 mins
</div>
</div>
</li>
<li>
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-success\">
<i class=\"fa fa-user\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
You have 5 pending membership that requires a quick review.
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
24 mins
</div>
</div>
</li>
<li>
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-warning\">
<i class=\"fa fa-bell-o\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
Web server hardware needs to be upgraded. <span class=\"label label-sm label-default \">
Overdue
</span>
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
2 hours
</div>
</div>
</li>
<li>
<a href=\"javascript:;\">
<div class=\"col1\">
<div class=\"cont\">
<div class=\"cont-col1\">
<div class=\"label label-sm label-info\">
<i class=\"fa fa-briefcase\"></i>
</div>
</div>
<div class=\"cont-col2\">
<div class=\"desc\">
IPO Report for year 2013 has been released.
</div>
</div>
</div>
</div>
<div class=\"col2\">
<div class=\"date\">
20 mins
</div>
</div>
</a>
</li>
</ul>
</div>
</div>
<div class=\"tab-pane page-quick-sidebar-settings\" id=\"quick_sidebar_tab_3\">
<div class=\"page-quick-sidebar-settings-list\">
<h3 class=\"list-heading\">General Settings</h3>
<ul class=\"list-items borderless\">
<li>
Enable Notifications <input type=\"checkbox\" class=\"make-switch\" checked data-size=\"small\" data-on-color=\"success\" data-on-text=\"ON\" data-off-color=\"default\" data-off-text=\"OFF\">
</li>
<li>
Allow Tracking <input type=\"checkbox\" class=\"make-switch\" data-size=\"small\" data-on-color=\"info\" data-on-text=\"ON\" data-off-color=\"default\" data-off-text=\"OFF\">
</li>
<li>
Log Errors <input type=\"checkbox\" class=\"make-switch\" checked data-size=\"small\" data-on-color=\"danger\" data-on-text=\"ON\" data-off-color=\"default\" data-off-text=\"OFF\">
</li>
<li>
Auto Sumbit Issues <input type=\"checkbox\" class=\"make-switch\" data-size=\"small\" data-on-color=\"warning\" data-on-text=\"ON\" data-off-color=\"default\" data-off-text=\"OFF\">
</li>
<li>
Enable SMS Alerts <input type=\"checkbox\" class=\"make-switch\" checked data-size=\"small\" data-on-color=\"success\" data-on-text=\"ON\" data-off-color=\"default\" data-off-text=\"OFF\">
</li>
</ul>
<h3 class=\"list-heading\">System Settings</h3>
<ul class=\"list-items borderless\">
<li>
Security Level
<select class=\"form-control input-inline input-sm input-small\">
<option value=\"1\">Normal</option>
<option value=\"2\" selected>Medium</option>
<option value=\"e\">High</option>
</select>
</li>
<li>
Failed Email Attempts <input class=\"form-control input-inline input-sm input-small\" value=\"5\" />
</li>
<li>
Secondary SMTP Port <input class=\"form-control input-inline input-sm input-small\" value=\"3560\" />
</li>
<li>
Notify On System Error <input type=\"checkbox\" class=\"make-switch\" checked data-size=\"small\" data-on-color=\"danger\" data-on-text=\"ON\" data-off-color=\"default\" data-off-text=\"OFF\">
</li>
<li>
Notify On SMTP Error <input type=\"checkbox\" class=\"make-switch\" checked data-size=\"small\" data-on-color=\"warning\" data-on-text=\"ON\" data-off-color=\"default\" data-off-text=\"OFF\">
</li>
</ul>
<div class=\"inner-content\">
<button class=\"btn btn-success\"><i class=\"icon-settings\"></i> Save Changes</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- END QUICK SIDEBAR -->
</div>
<!-- END CONTAINER -->
<!-- BEGIN FOOTER -->
<div class=\"page-footer\">
<div class=\"page-footer-inner\">
2014 © Metronic by keenthemes.
</div>
<div class=\"scroll-to-top\">
<i class=\"icon-arrow-up\"></i>
</div>
</div>
<!-- END FOOTER -->
<!-- BEGIN JAVASCRIPTS(Load javascripts at bottom, this will reduce page load time) -->
<!-- BEGIN CORE PLUGINS -->
<!--[if lt IE 9]>
<script src=\"~/Content/assets/global/plugins/respond.min.js\"></script>
<script src=\"~/Content/assets/global/plugins/excanvas.min.js\"></script>
<![endif]-->
<script src=\"~/Content/assets/global/plugins/jquery.min.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/global/plugins/jquery-migrate.min.js\" type=\"text/javascript\"></script>
<!-- IMPORTANT! Load jquery-ui.min.js before bootstrap.min.js to fix bootstrap tooltip conflict with jquery ui tooltip -->
<script src=\"~/Content/assets/global/plugins/jquery-ui/jquery-ui.min.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/global/plugins/bootstrap/js/bootstrap.min.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/global/plugins/jquery.blockui.min.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/global/plugins/jquery.cokie.min.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/global/plugins/uniform/jquery.uniform.min.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js\" type=\"text/javascript\"></script>
<!-- BEGIN PAGE LEVEL SCRIPTS -->
<script src=\"~/Content/assets/global/scripts/metronic.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/admin/layout/scripts/layout.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/admin/layout/scripts/quick-sidebar.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/admin/layout/scripts/demo.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/admin/pages/scripts/index.js\" type=\"text/javascript\"></script>
<script src=\"~/Content/assets/admin/pages/scripts/tasks.js\" type=\"text/javascript\"></script>
<!-- END PAGE LEVEL SCRIPTS -->
<script>
jQuery(document).ready(function() {
Metronic.init(); // init metronic core componets
Layout.init(); // init layout
QuickSidebar.init(); // init quick sidebar
Demo.init(); // init demo features
Index.init();
Index.init版面展示Daterange();
Index.initJQVMAP(); // init index page\'s custom scripts
Index.initCalendar(); // init index page\'s custom scripts
Index.initCharts(); // init index page\'s custom scripts
Index.initChat();
Index.initMiniCharts();
Tasks.init版面展示Widget();
});
</script>
<!-- END JAVASCRIPTS -->
</body>
<!-- END BODY -->
</html>
再次提取菜单代码
<li class=\"start active open\"> <a href=\"javascript:;\"> <i class=\"icon-folder\"></i> <span class=\"title\">Multi Level Menu</span> <span class=\"arrow \"></span> </a> <ul class=\"sub-menu\"> <li> <a href=\"javascript:;\"> <i class=\"icon-settings\"></i> Item 1 <span class=\"arrow\"></span> </a> <ul class=\"sub-menu\"> <li> <a href=\"javascript:;\"> <i class=\"icon-user\"></i> Sample Link 1 <span class=\"arrow\"></span> </a> <ul class=\"sub-menu\"> <li> <a href=\"#\"><i class=\"icon-power\"></i> Sample Link 1</a> </li> <li> <a href=\"#\"><i class=\"icon-paper-plane\"></i> Sample Link 1</a> </li> <li> <a href=\"#\"><i class=\"icon-star\"></i> Sample Link 1</a> </li> </ul> </li> <li> <a href=\"#\"><i class=\"icon-camera\"></i> Sample Link 1</a> </li> <li> <a href=\"#\"><i class=\"icon-link\"></i> Sample Link 2</a> </li> <li> <a href=\"#\"><i class=\"icon-pointer\"></i> Sample Link 3</a> </li> </ul> </li> <li> <a href=\"javascript:;\"> <i class=\"icon-globe\"></i> Item 2 <span class=\"arrow\"></span> </a> <ul class=\"sub-menu\"> <li> <a href=\"#\"><i class=\"icon-tag\"></i> Sample Link 1</a> </li> <li> <a href=\"#\"><i class=\"icon-pencil\"></i> Sample Link 1</a> </li> <li> <a href=\"#\"><i class=\"icon-graph\"></i> Sample Link 1</a> </li> </ul> </li> <li> <a href=\"#\"> <i class=\"icon-bar-chart\"></i> Item 3 </a> </li> </ul> </li>
大约在466行-529行
分析上面html可以看出,li包含ul循环调用。所以我们用递归读取菜单
5.拼接菜单栏
创建Home视图Index.cshtml并应用_Layout.cshtml
Bootstrap Metronic并菜单没有提供Ajax模式,我们只能读取数据拼接HTML
过程:读取数据表数据递归调用
using App.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Text;
namespace App.Web.Controllers
{
public class HomeController : Controller
{
AppDBContainer db = new AppDBContainer();
public ActionResult Index()
{
IQueryable<SysModule> menus = db.SysModule.AsQueryable().Where(a=>a.ParentID==\"0\");
StringBuilder sb = new StringBuilder();
bool firstFlag = true;//第一个默认展开
GetChildMenus(ref sb, menus, firstFlag);//二级菜单
ViewBag.Menus = sb.ToString();
return View();
}
//递归调用
public void GetChildMenus(ref StringBuilder sb, IQueryable<SysModule> menus,bool firstFlag)//二级以上菜单
{
int count = 0;
if(!firstFlag)
sb.Append(\"<ul class=\'sub-menu\'>\");
foreach (var m in menus)
{
IQueryable<SysModule> menusChild = db.SysModule.AsQueryable().Where(a => a.ParentID == m.ID);
count = menusChild.Count();
sb.AppendFormat(\"<li class=\'{0}\'>\",firstFlag?\"start actove open\":\"\");
sb.AppendFormat(\"<a href=\'{0}\'><i class=\'{1}\'></i><span class=\'title\'>{2}</span>{3}</a>\", count > 0 ? \"javascript:;\" : m.Url, m.Iconic, m.Name, count > 0 ? \"<span class=\'arrow \'></span>\" : \"\");
firstFlag = false;
if (count > 0)
GetChildMenus(ref sb, menusChild,firstFlag);
sb.Append(\"</li>\");
}
if (!firstFlag)
sb.Append(\"</ul>\");
}
}
}
去掉提取的li替换成@Html.Raw(ViewBag.Menus)
6.总结
前端这种东西最考验人的耐心,不信你自己拼接一下
最后效果
作者:YmNets
出处:http://ymnets.cnblogs.com/
本文地址:https://www.stayed.cn/item/5274
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我