Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记


Posted in Javascript onJuly 08, 2016

继续上一篇,针对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来准备改造

Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记 

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.总结
前端这种东西最考验人的耐心,不信你自己拼接一下
最后效果 

Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记

 作者:YmNets
出处:http://ymnets.cnblogs.com/

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
Apr 12 Javascript
防止文件缓存的js代码
Jan 10 Javascript
javascript使用location.search的示例
Nov 05 Javascript
js中删除数组中的某一元素实例(无下标时)
Feb 28 Javascript
node.js操作mongodb简单示例分享
May 25 Javascript
AngularJs实现聊天列表实时刷新功能
Jun 15 Javascript
老生常谈ES6中的类
Jul 31 Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
Aug 23 Javascript
js链表操作(实例讲解)
Aug 29 Javascript
vue实现淘宝购物车功能
Apr 20 Javascript
React 条件渲染最佳实践小结(7种)
Sep 27 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
Jul 08 #Javascript
Angularjs---项目搭建图文教程
Jul 08 #Javascript
Node.js 文件夹目录结构创建实例代码
Jul 08 #Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
Jul 07 #Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
Jul 07 #Javascript
简单实现js页面切换功能
Jan 10 #Javascript
JavaScript作用域示例详解
Jul 07 #Javascript
You might like
PHP中创建并处理图象
2006/10/09 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
PHP实现字符串的全排列详解
2019/04/24 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
javascript indexOf函数使用说明
2008/07/03 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
Python里disconnect UDP套接字的方法
2015/04/23 Python
Django实现支付宝付款和微信支付的示例代码
2018/07/25 Python
python里运用私有属性和方法总结
2019/07/08 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
python跨文件使用全局变量的实现
2020/11/17 Python
Python实现Appium端口检测与释放的实现
2020/12/31 Python
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
学生拾金不昧表扬信
2014/01/21 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
信息技术课后反思
2014/04/27 职场文书
本科毕业生自荐信
2014/06/02 职场文书
地球一小时宣传标语
2014/06/24 职场文书
学习雷锋标语
2014/06/25 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
2014年变电站工作总结
2014/12/19 职场文书
上学路上观后感
2015/06/16 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
人力资源部工作计划
2019/05/14 职场文书