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:history.go()和History.back()的区别及应用
Nov 25 Javascript
JQuery实现鼠标滑过显示导航下拉列表
Sep 12 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
Feb 13 Javascript
node.js入门实例helloworld详解
Dec 23 Javascript
原生js制作日历控件实例分享
Apr 06 Javascript
基于jQuery实现动态搜索显示功能
May 05 Javascript
9个让JavaScript调试更简单的Console命令
Nov 14 Javascript
如何解决hover在ie6中的兼容性问题
Dec 15 Javascript
js return返回多个值,通过对象的属性访问方法
Feb 21 Javascript
node.js操作mongodb简单示例分享
May 25 Javascript
JS实现基于拖拽改变物体大小的方法
Jan 23 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
Jul 04 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实现截取指定长度
2013/08/06 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
2015/07/27 Javascript
C++中的string类的用法小结
2015/08/07 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
EJB与JAVA BEAN的区别
2016/08/29 面试题
如何获得EntityManager
2014/02/09 面试题
宿舍卫生检讨书
2014/01/16 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
大专毕业生求职信
2014/07/05 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
师德师风自查总结
2014/10/14 职场文书
党支部四风整改方案
2014/10/25 职场文书
调研报告的主要写法
2019/04/18 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
go select编译期的优化处理逻辑使用场景分析
2021/06/28 Golang
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python