一、下載adminlte
官網:https://almsaeedstudio.com/
github:https://github.com/almasaeed2010/AdminLTE/
二、引用的基本解說
1、meta沒的說
2、引入bootstrap
3、引入字體庫,肯定用得到,下載到本地放在plugins下也可以
4、adminLTE子什么的文件肯定需要
5、皮膚skin,可以引入_all...,但是如果只需要一個皮膚的話,比如只需要藍色,直接引入skin-blue就行,畢竟越簡越好
6、兼容IE8的兩個js文件
7、jquery沒的說
8、fastclick,觸摸設備快速點擊體驗,不想兼容手機可以去掉
9、slimscroll,菜單和頁面中的滾動條樣式,放上去畢竟好看嘛。(看一下不加的效果,不好看吧)
下面是引用的原代碼,可是用starter.htm中查看,對應上面的進行查看
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>AdminLTE 2 | Starter</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- Bootstrap 3.3.6 -->
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
<!-- Ionicons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css">
<!-- Theme style -->
<link rel="stylesheet" href="dist/css/AdminLTE.min.css">
<!-- AdminLTE Skins. We have chosen the skin-blue for this starter
page. However, you can choose any other skin. Make sure you
apply the skin class to the body tag so the changes take effect.
-->
<link rel="stylesheet" href="dist/css/skins/skin-blue.min.css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
二。adminlte文件夾說明
dminLTE是基於bootstrap3的前端框架,並且將bootstrap3進行修改來適應自身的樣式。
adminLTE除了可以使用bootstrap3的大多數樣式之外,自身也提供了一些非常實用的樣式包裝,並且在樣式演示中已經基本羅列出來了。
adminLTE的js是基於jquery2。
adminLTE的插件中使用的基本都是bootstrap和jquery的插件。

想開始使用adminLTE樣式,只需要在項目演示中按F12打開調試窗口,使用箭頭選中控件,復制粘貼即可,如圖

adminLTE提供了基礎模板頁面starter.html,再此基礎上做開發會快速很多:
一、body樣式:
1、類hold-transition是對IE的transition做了一些修復,在body引用即可,沒什么深層含義
2、皮膚的樣式
側邊欄默認是暗色。
skin-blue中的 blue 藍 修改的是標題的顏色,
只有指定第二個顏色的時候才會改變側邊欄顏色,
如skin-blue-light中第二個顏色表示側邊欄為亮色。
adminLTE提供的默認皮膚顏色有:
藍 skin-blue skin-blue-light
黃 skin-yellow skin-yellow-light
綠 skin-green skin-green-light
紫 skin-purple skin-purple-light
紅skin-red skin-red-light
字體黑,皮膚白 skin-black skin-black-light
、布局
默認側邊欄隱藏,標題不移動
<body class="hold-transition skin-blue">
Fixed 只是為了固定導航欄
layout-boxed 只是將頁面包含在一個固定盒子中,max-width最大寬度: 1250px;
當fixed布局和layout-boxed布局一起使用時,layout-boxed樣式不會生效,只有fixed布局會生效
sidebar-collapse 讓側邊欄默認是隱藏狀態
layout-top-nav 將導航欄設置為單純的導航菜單,不使用側邊欄
sidebar-mini 讓側邊欄和左側導航一起折疊,並且最小化是小圖標。
sidebar-mini一般和Fixed layout-boxed sidebar-collapse 一起配合使用,因為layout-top-nav布局的目的就是不要側邊欄
<body class="hold-transition skin-blue sidebar-mini">
二、body構造
<div class="wrapper">
<!-- 頂部導航欄 -->
<header class="main-header">
</header>
<!-- 左側菜單欄 -->
<aside class="main-sidebar">
</aside>
<!-- 中間內容 -->
<div class="content-wrapper">
</div>
<!-- 底部標注 -->
<footer class="main-footer">
</footer>
<!-- 右側菜單欄 -->
<aside class="control-sidebar control-sidebar-dark">
</aside>
<!-- 右側菜單欄的樣式,底部距離為0等 -->
<div class="control-sidebar-bg"></div>
</div>
四。在MVC5項目中加入adminlte
1.我將adminlte全部復制進 Content文件夾下
2.在MVC5項目中將adminlte文件夾及文件包含進項目。

六.bundles相關的JS和CSS
1.我將引用二個遠程CSS下載下來到本地的CSS夾中,我是放在bootstrap/css/下面的,結果這個方法是錯誤的,他的遠程的二個主要是字體圖標的引用,必須遠程,否得你得更改內容或是下下來。
<!-- Font Awesome --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css"> <!-- Ionicons --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css">
對應看看index.htm和starter的源碼。對比看看引用,這index比satrt是多太多了。
所我做成了二個bundles.
bundles.Add(new StyleBundle("~/Content/adminlte/bootstrap/css").Include(
"~/Content/adminlte/bootstrap/css/bootstrap.min.css",
"~/Content/adminlte/plugins/jvectormap/jquery-jvectormap-1.2.2.css",
"~/Content/adminlte/dist/css/AdminLTE.min.css",
"~/Content/adminlte/dist/css/skins/skin-blue.min.css"));
bundles.Add(new ScriptBundle("~/bundles/adminlte").Include(
"~/Content/adminlte/plugins/jQuery/jquery-2.2.3.min.js",
"~/Content/adminlte/bootstrap/js/bootstrap.min.js",
"~/Content/adminlte/dist/js/app.min.js"));
bundles.Add(new ScriptBundle("~/bundles/adminlte/js").Include(
"~/Content/adminlte/dist/js/raphael-min.js",
"~/Content/adminlte/plugins/morris/morris.min.js",
"~/Content/adminlte/plugins/sparkline/jquery.sparkline.min.js",
"~/Content/adminlte/plugins/jvectormap/jquery-jvectormap-1.2.2.min.js",
"~/Content/adminlte/plugins/jvectormap/jquery-jvectormap-world-mill-en.js",
"~/Content/adminlte/plugins/knob/jquery.knob.js",
"~/Content/adminlte/dist/js/moment.min.js",
"~/Content/adminlte/plugins/daterangepicker/daterangepicker.js",
"~/Content/adminlte/plugins/datepicker/bootstrap-datepicker.js",
"~/Content/adminlte/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js",
"~/Content/adminlte/plugins/slimScroll/jquery.slimscroll.min.js",
"~/Content/adminlte/plugins/fastclick/fastclick.js",
"~/Content/adminlte/dist/js/pages/dashboard.js",
"~/Content/adminlte/dist/js/demo.js"));
bundles.Add(new StyleBundle("~/Content/adminlte/css").Include(
"~/Content/adminlte/plugins/iCheck/flat/blue.css",
"~/Content/adminlte/plugins/morris/morris.css",
"~/Content/adminlte/plugins/jvectormap/jquery-jvectormap-1.2.2.css",
"~/Content/adminlte/plugins/datepicker/datepicker3.css",
"~/Content/adminlte/plugins/daterangepicker/daterangepicker.css",
"~/Content/adminlte/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css"));
這樣做的目的是:可以分別引用JS和CSS.
現在我們新建一個布局頁,取名為_AdminLayout
注意,我布局而中,引用了1個分布局,一個是菜單,同時在中間引入了內容標簽
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>@ViewBag.Title </title>
@Styles.Render("~/Content/adminlte/bootstrap/css")
@Styles.Render("~/Content/adminlte/css")
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
<!-- Ionicons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body class="hold-transition skin-blue layout-boxed sidebar-mini">
<!-- Site wrapper -->
<div class="wrapper">
<!-- 頂部導航欄 -->
<header class="main-header">
<!-- Logo -->
<a href="#" class="logo">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><b>M</b>Oa</span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><b>Mydhh</b>Oa</span>
</a>
<!-- Header Navbar -->
<nav class="navbar navbar-static-top" role="navigation">
<!-- Sidebar toggle button-->
<a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
<span class="sr-only">Toggle navigation</span>
</a>
<!-- Navbar Right Menu -->
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
<!-- Messages: style can be found in dropdown.less 就是郵件圖標那個-->
<li class="dropdown messages-menu">
<!-- Menu toggle button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-envelope-o"></i>
<span class="label label-success">4</span>
</a>
<ul class="dropdown-menu">
<li class="header">You have 4 messages</li>
<li>
<!-- inner menu: contains the messages -->
<ul class="menu">
<li>
<!-- start message -->
<a href="#">
<div class="pull-left">
<!-- User Image -->
<img src="dist/img/user2-160x160.jpg" class="img-circle" alt="User Image">
</div>
<!-- Message title and timestamp -->
<h4>
Support Team
<small><i class="fa fa-clock-o"></i> 5 mins</small>
</h4>
<!-- The message -->
<p>Why not buy a new awesome theme?</p>
</a>
</li>
<!-- end message -->
</ul>
<!-- /.menu -->
</li>
<li class="footer"><a href="#">See All Messages</a></li>
</ul>
</li>
<!-- /.messages-menu -->
<!-- Notifications Menu -->
<li class="dropdown notifications-menu">
<!-- Menu toggle button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-bell-o"></i>
<span class="label label-warning">10</span>
</a>
<ul class="dropdown-menu">
<li class="header">You have 10 notifications</li>
<li>
<!-- Inner Menu: contains the notifications 喇叭圖標那個-->
<ul class="menu">
<li>
<!-- start notification -->
<a href="#">
<i class="fa fa-users text-aqua"></i> 5 new members joined today
</a>
</li>
<!-- end notification -->
</ul>
</li>
<li class="footer"><a href="#">View all</a></li>
</ul>
</li>
<!-- end-Notifications Menu -->
<!-- Tasks Menu 旗子任務圖標 -->
<li class="dropdown tasks-menu">
<!-- Menu Toggle Button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-flag-o"></i>
<span class="label label-danger">9</span>
</a>
<ul class="dropdown-menu">
<li class="header">You have 9 tasks</li>
<li>
<!-- Inner menu: contains the tasks -->
<ul class="menu">
<li>
<!-- Task item -->
<a href="#">
<!-- Task title and progress text -->
<h3>
Design some buttons
<small class="pull-right">20%</small>
</h3>
<!-- The progress bar -->
<div class="progress xs">
<!-- Change the css width attribute to simulate progress -->
<div class="progress-bar progress-bar-aqua" style="width: 20%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
<span class="sr-only">20% Complete</span>
</div>
</div>
</a>
</li>
<!-- end task item -->
</ul>
</li>
<li class="footer">
<a href="#">View all tasks</a>
</li>
</ul>
</li>
<!-- end task item -->
<!-- User Account Menu -->
<li class="dropdown user user-menu">
<!-- Menu Toggle Button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<!-- The user image in the navbar-->
<img src="dist/img/user2-160x160.jpg" class="user-image" alt="User Image">
<!-- hidden-xs hides the username on small devices so only the image appears. -->
<span class="hidden-xs">Alexander Pierce</span>
</a>
<ul class="dropdown-menu">
<!-- The user image in the menu -->
<li class="user-header">
<img src="dist/img/user2-160x160.jpg" class="img-circle" alt="User Image">
<p>
Alexander Pierce - Web Developer
<small>Member since Nov. 2012</small>
</p>
</li>
<!-- Menu Body -->
<li class="user-body">
<div class="row">
<div class="col-xs-4 text-center">
<a href="#">Followers</a>
</div>
<div class="col-xs-4 text-center">
<a href="#">Sales</a>
</div>
<div class="col-xs-4 text-center">
<a href="#">Friends</a>
</div>
</div>
<!-- /.row -->
</li>
<!-- Menu Footer-->
<li class="user-footer">
<div class="pull-left">
<a href="#" class="btn btn-default btn-flat">Profile</a>
</div>
<div class="pull-right">
<a href="#" class="btn btn-default btn-flat">Sign out</a>
</div>
</li>
</ul>
</li>
<!--end User Account Menu -->
<!-- Control Sidebar Toggle Button 右側菜單-->
<li>
<a href="#" data-toggle="control-sidebar"><i class="fa fa-gears"></i></a>
</li>
</ul>
</div>
<!-- /div wrapper -->
</nav>
</header>
<!-- end header 頭部結束 -->
<!-- 大側菜單布局 Left side column. contains the logo and sidebar -->
<aside class="main-sidebar">
@Html.Partial("Menu")
</aside>
<!-- /.sidebar -->
<!--中間內容 Content Wrapper. Contains page content -->
<div class="content-wrapper">
@RenderBody()
</div>
<!--end 中間內容 Content Wrapper. Contains page content -->
<!-- Main Footer -->
<footer class="main-footer">
<!-- To the right -->
<div class="pull-right hidden-xs">
Anything you want
</div>
<!-- Default to the left -->
<strong>Copyright © 2016 <a href="#">Company</a>.</strong> All rights reserved.
</footer>
<!-- end Footer -->
<!-- Control Sidebar -->
<aside class="control-sidebar control-sidebar-dark">
<!-- Create the tabs -->
<ul class="nav nav-tabs nav-justified control-sidebar-tabs">
<li class="active"><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-home"></i></a></li>
<li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-gears"></i></a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<!-- Home tab content -->
<div class="tab-pane active" id="control-sidebar-home-tab">
<h3 class="control-sidebar-heading">Recent Activity</h3>
<ul class="control-sidebar-menu">
<li>
<a href="javascript:;">
<i class="menu-icon fa fa-birthday-cake bg-red"></i>
<div class="menu-info">
<h4 class="control-sidebar-subheading">Langdon's Birthday</h4>
<p>Will be 23 on April 24th</p>
</div>
</a>
</li>
</ul>
<!-- /.control-sidebar-menu -->
<h3 class="control-sidebar-heading">Tasks Progress</h3>
<ul class="control-sidebar-menu">
<li>
<a href="javascript:;">
<h4 class="control-sidebar-subheading">
Custom Template Design
<span class="pull-right-container">
<span class="label label-danger pull-right">70%</span>
</span>
</h4>
<div class="progress progress-xxs">
<div class="progress-bar progress-bar-danger" style="width: 70%"></div>
</div>
</a>
</li>
</ul>
<!-- /.control-sidebar-menu -->
</div>
<!-- end 右側菜單/.control-sidebar-menu -->
<!-- /.tab-pane -->
<!-- Stats tab content -->
<div class="tab-pane" id="control-sidebar-stats-tab">Stats Tab Content</div>
<!-- /.tab-pane -->
<!-- Settings tab content -->
<div class="tab-pane" id="control-sidebar-settings-tab">
<form method="post">
<h3 class="control-sidebar-heading">General Settings</h3>
<div class="form-group">
<label class="control-sidebar-subheading">
Report panel usage
<input type="checkbox" class="pull-right" checked>
</label>
<p>
Some information about this general settings option
</p>
</div>
<!-- /.form-group -->
</form>
</div>
<!-- /.tab-pane -->
</div>
</aside>
<!-- end 右側菜單 /.control-sidebar -->
<!-- Add the sidebar's background. This div must be placed
immediately after the control sidebar -->
<div class="control-sidebar-bg"></div>
</div>
@Scripts.Render("~/bundles/adminlte")
@Scripts.Render("~/bundles/adminlte/js")
@RenderSection("scripts", required: false)
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
</body>
</html>
然后菜單頁的布局為:
<!-- sidebar: style can be found in sidebar.less --> <section class="sidebar"> <!-- Sidebar user panel (optional) --> <div class="user-panel"> <div class="pull-left image"> <img src="dist/img/user2-160x160.jpg" class="img-circle" alt="User Image"> </div> <div class="pull-left info"> <p>Alexander Pierce</p> <!-- Status --> <a href="#"><i class="fa fa-circle text-success"></i> Online</a> </div> </div> <!-- search form (Optional) --> <form action="#" method="get" class="sidebar-form"> <div class="input-group"> <input type="text" name="q" class="form-control" placeholder="Search..."> <span class="input-group-btn"> <button type="submit" name="search" id="search-btn" class="btn btn-flat"> <i class="fa fa-search"></i> </button> </span> </div> </form> <!-- /.search form --> <!-- Sidebar Menu --> <ul class="sidebar-menu"> <li class="header">HEADER</li> <!-- Optionally, you can add icons to the links --> <li class="active"><a href="~/User/Admin"><i class="fa fa-link"></i> <span>Link</span></a></li> <li><a href="~/User/List"><i class="fa fa-link"></i> <span>Another Link</span></a></li> <li class="treeview"> <a href="#"> <i class="fa fa-link"></i> <span>Multilevel</span> <span class="pull-right-container"> <i class="fa fa-angle-left pull-right"></i> </span> </a> <ul class="treeview-menu"> <li><a href="#">Link in level 2</a></li> <li><a href="#">Link in level 2</a></li> </ul> </li> </ul> <!-- /.sidebar-menu --> </section>
然后我選了一個用戶列表作為測試,我在中間加入了布局使用admin布局。
@model IEnumerable<jsdhh2.Models.User>
@{
ViewBag.Title = "List";
Layout = "~/Views/Shared/_AdminLayout.cshtml";
}
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
用戶管理
<small>針對所有的用戶清單進行操作</small>
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
<li class="active">Here</li>
</ol>
</section>
<!--end Content Header (Page header) -->
<!-- Main content -->
<section class="content">
<div class="ibox float-e-margins">
<div class="ibox-content">
<div class="form-group">
<a class="btn btn-primary" href="/User/Add">添加</a>
<button id="btnEdit" type="button" class="btn btn-info " onclick="editModel()"><i class="fa fa-pencil"></i> 編輯</button>
<button id="btnDel" type="button" class="btn btn-danger " onclick="delData()">
<i class="fa fa-remove"></i> <span class="bold">刪除</span>
</button>
<button id="btnSetRole" type="button" class="btn btn-info "><i class="fa fa-user"></i> 角色授權</button>
<button id="btnResetPwd" class="btn btn-warning"><i class="fa fa-undo"></i> 重置密碼</button>
</div>
<div class="form-group">
<div class="input-group col-md-4">
<input id="txtSearchKey" type="text" class="input form-control" placeholder="搜索關鍵字" />
<span class="input-group-btn ">
<button id="btnSearch" class="btn btn btn-primary" type="button"> <i class="fa fa-search"></i> 搜索</button>
</span>
</div>
</div>
<div class="jqGrid_wrapper">
<table id="table_list"></table>
<div id="pager_list"></div>
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
<th>用戶名</th>
<th>電子郵件</th>
<th>生日</th>
<th>QQ號碼</th>
<th>電話號碼</th><th>創建時間</th>
</tr>
</thead>
<tbody>
@foreach (var user in Model)
{
<tr>
<td>@Html.DisplayFor(m => user.UserName)</td>
<td>@Html.DisplayFor(m => user.Email)</td>
<td>@Html.DisplayFor(m => user.BirthDate, "DateTimeTemplate")</td>
<td>@Html.DisplayFor(m => user.QQ)</td>
<td>@Html.DisplayFor(m => user.PhoneNumber)</td>
<td>@Html.DisplayFor(m => user.CreateTime, "DateTimeTemplate") </td>
<td>
@Html.ActionLink("詳情", "DetailsList", new { id = user.Id }, new { @class = "btn btn-info" })
@Html.ActionLink("編輯", "Edit", new { id = user.Id },new { @class= "btn btn-success" })
@Html.ActionLink("刪除", "Del", new { id = user.Id }, new { @class = "btn btn-warning" })
@Html.ActionLink("重置", "ResetPassword", new { id = user.Id }, new { @class = "btn btn-warning" })
</td>
</tr>
}
</tbody>
</table>
<!-- Main content -->
</section>
然后測試結果出來,OK了。

在這中間,要注樣意,你寫的視圖的代碼要改一下,按LIst中間這樣,把他加進入。
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Page Header
<small>Optional description</small>
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
<li class="active">Here</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<!-- Your Page Content Here -->
</section>
<!-- /.content -->
</div>
