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 相关文章推荐
javascript 数组的方法集合
Jun 05 Javascript
ext读取两种结构的xml的代码
Nov 05 Javascript
javascript instanceof,typeof的区别
Mar 24 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
Apr 25 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
Dec 27 Javascript
jquery动态添加元素事件失效问题解决方法
May 23 Javascript
js与css实现弹出层覆盖整个页面的方法
Dec 13 Javascript
JavaScript学习笔记之内置对象
Jan 22 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
Mar 19 Javascript
vue cli 3.x 项目部署到 github pages的方法
Apr 17 Javascript
vue实现在进行增删改操作后刷新页面
Aug 05 Javascript
JS实现页面侧边栏效果探究
Jan 08 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
基于CI框架的微信网页授权库示例
2016/11/25 PHP
PHP学习记录之数组函数
2018/06/01 PHP
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
javascript的BOM汇总
2015/07/16 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
QML实现圆环颜色选择器
2019/09/25 Javascript
jQuery擦除插件eraser使用方法详解
2020/01/11 jQuery
Python中的测试模块unittest和doctest的使用教程
2015/04/14 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
Python 多进程和数据传递的理解
2017/10/09 Python
python实现简易云音乐播放器
2018/01/04 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
python获取中文字符串长度的方法
2018/11/14 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
HTML5 input元素类型:email及url介绍
2013/08/13 HTML / CSS
adidas旗下高尔夫装备供应商:TaylorMade Golf(泰勒梅高尔夫)
2016/08/28 全球购物
Lookfantastic澳大利亚官网:英国知名美妆购物网站
2021/01/07 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
写给爸爸的道歉信
2014/01/15 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
综治宣传月活动总结
2014/04/28 职场文书
电教室标语
2014/06/20 职场文书
2014年度安全生产目标管理责任书
2014/07/25 职场文书
领导干部个人对照检查材料(群众路线)
2014/09/26 职场文书
学校教学管理制度
2015/08/06 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
Python实现打乒乓小游戏
2021/09/25 Python