冯 海

一个程序新人菜鸟的日记,希望大家多多关照。QQ:32316131

2018教程之mvc+ef之四:搭建admin管理实现用户管理1

inspina已正常使用了,下面开始我们的后台管理吧。

当然先明彷管理了,为了方便,我们也新建一个admin控制器进行用户、角色等的管理。

一、新建Admin的控制器。

 1.选择空的控制器。

 

2.名字改为AdminController

点确定。

3.创建index的视图,选择admin布局。

 

二、更改左侧管理菜单_Navigation.cshtml
 

<nav class="navbar-default navbar-static-side" role="navigation">
	<div class="sidebar-collapse">
		<ul class="nav" id="side-menu">
			<li class="nav-header">
				<div class="dropdown profile-element">
					<a data-toggle="dropdown" class="dropdown-toggle" href="#">
						<span class="clear">
							<span class="block m-t-xs">
								<strong class="font-bold">Example user</strong>
							</span> <span class="text-muted text-xs block">Example menu <b class="caret"></b></span>
						</span>
					</a>
					<ul class="dropdown-menu animated fadeInRight m-t-xs">
						<li><a href="#">Logout</a></li>
					</ul>
				</div>
				<div class="logo-element">
					IN+
				</div>
			</li>
			<li class="@Html.IsSelected(action: "Index")">
				<a href="@Url.Action("Index", "Admin")"><i class="fa fa-laptop"></i> <span class="nav-label">管理首页</span> </a>
			</li>
			<li class="@Html.IsSelected(controller: "Account")">
				<a href="@Url.Action("ListUsers", "Account")"><i class="fa fa-th-large"></i> <span class="nav-label" data-i18n="nav.dashboard">用户管理</span> <span class="fa arrow"></span></a>
				<ul class="nav nav-second-level collapse @Html.IsSelected(controller: "Dashboards", cssClass: "in")">
					<li class="@Html.IsSelected(action: "ListUsers")"><a href="@Url.Action("ListUsers", "Account")">用户列表</a></li>
					<li class="@Html.IsSelected(action: "Register")"><a href="@Url.Action("Register", "Account")">新建用户</a></li>
				 
				</ul>
			</li>

			<li>
				<a href="#"><i class="fa fa-sitemap"></i> <span class="nav-label" data-i18n="nav.menulevels">部室管理 </span><span class="fa arrow"></span></a>
				<ul class="nav nav-second-level">
					
					<li><a href="#">部门列表</a></li>
					<li>
						<a href="#">新建部门</a>
					</li>
					
				</ul>
			</li>

			<li class="@Html.IsSelected(controller: "UIElements")">
				<a href="#"><i class="fa fa-flask"></i> <span class="nav-label" data-i18n="nav.uielements">角色管理</span><span class="fa arrow"></span></a>
				<ul class="nav nav-second-level collapse @Html.IsSelected(controller: "UIElements", cssClass: "in")">
					<li class="@Html.IsSelected(action: "Typography")"><a href="@Url.Action("Typography", "UIElements")">Typography</a></li>
					<li class="@Html.IsSelected(action: "Icons")"><a href="@Url.Action("Icons", "UIElements")">Icons</a></li>
					<li class="@Html.IsSelected(action: "DraggablePanels")"><a href="@Url.Action("DraggablePanels", "UIElements")">Draggable Panels</a></li>
					<li class="@Html.IsSelected(action: "ResizeablePanels")"><a href="@Url.Action("ResizeablePanels", "UIElements")">Resizeable Panels</a></li>
					<li class="@Html.IsSelected(action: "Buttons")"><a href="@Url.Action("Buttons", "UIElements")">Buttons</a></li>
					<li class="@Html.IsSelected(action: "Video")"><a href="@Url.Action("Video", "UIElements")">Video</a></li>
					<li class="@Html.IsSelected(action: "TablesPanels")"><a href="@Url.Action("TablesPanels", "UIElements")">Panels</a></li>
					<li class="@Html.IsSelected(action: "Tabs")"><a href="@Url.Action("Tabs", "UIElements")">Tabs</a></li>
					<li class="@Html.IsSelected(action: "NotificationsTooltips")"><a href="@Url.Action("NotificationsTooltips", "UIElements")">Notifications & Tooltips</a></li>
					<li class="@Html.IsSelected(action: "HelperClasses")"><a href="@Url.Action("HelperClasses", "UIElements")">Helper css classes</a></li>
					<li class="@Html.IsSelected(action: "BadgesLabelsProgress")"><a href="@Url.Action("BadgesLabelsProgress", "UIElements")">Badges, Labels, Progress</a></li>
				</ul>
			</li>
			<li class="@Html.IsSelected(controller: "Graphs")">
				<a href="#"><i class="fa fa-bar-chart-o"></i> <span class="nav-label" data-i18n="nav.graphs">菜单管理</span><span class="fa arrow"></span></a>
				<ul class="nav nav-second-level collapse @Html.IsSelected(controller: "Graphs", cssClass: "in")">
					<li class="@Html.IsSelected(action: "Flot")"><a href="@Url.Action("Flot", "Graphs")">Flot Charts</a></li>
					<li class="@Html.IsSelected(action: "Morris")"><a href="@Url.Action("Morris", "Graphs")">Morris.js Charts</a></li>
					<li class="@Html.IsSelected(action: "Rickshaw")"><a href="@Url.Action("Rickshaw", "Graphs")">Rickshaw Charts</a></li>
					<li class="@Html.IsSelected(action: "Chartjs")"><a href="@Url.Action("Chartjs", "Graphs")">Chart.js</a></li>
					<li class="@Html.IsSelected(action: "Chartist")"><a href="@Url.Action("Chartist", "Graphs")">Chartist</a></li>
					<li class="@Html.IsSelected(action: "C3charts")"><a href="@Url.Action("C3charts", "Graphs")">c3 charts</a></li>
					<li class="@Html.IsSelected(action: "Peity")"><a href="@Url.Action("Peity", "Graphs")">Peity Charts</a></li>
					<li class="@Html.IsSelected(action: "Sparkline")"><a href="@Url.Action("Sparkline", "Graphs")">Sparkline Charts</a></li>
				</ul>
			</li>
			<li class="@Html.IsSelected(controller: "Forms")">
				<a href="#"><i class="fa fa-edit"></i> <span class="nav-label" data-i18n="nav.forms">系统操作</span><span class="fa arrow"></span></a>
				<ul class="nav nav-second-level collapse @Html.IsSelected(controller: "Forms", cssClass: "in")">
					<li class="@Html.IsSelected(action: "BasicFroms")"><a href="@Url.Action("BasicFroms", "Forms")">Basic form</a></li>
					<li class="@Html.IsSelected(action: "Advanced")"><a href="@Url.Action("Advanced", "Forms")">Advanced Plugins</a></li>
					<li class="@Html.IsSelected(action: "Wizard")"><a href="@Url.Action("Wizard", "Forms")">Wizard</a></li>
					<li class="@Html.IsSelected(action: "FileUpload")"><a href="@Url.Action("FileUpload", "Forms")">File Upload</a></li>
					<li class="@Html.IsSelected(action: "TextEditor")"><a href="@Url.Action("TextEditor", "Forms")">Text Editor</a></li>
					<li class="@Html.IsSelected(action: "Autocomplete")"><a href="@Url.Action("Autocomplete", "Forms")">Autocomplete</a></li>
					<li class="@Html.IsSelected(action: "Markdown")"><a href="@Url.Action("Markdown", "Forms")">Markdown</a></li>
				</ul>
			</li>

			<li class="@Html.IsSelected(controller: "Tables")">
				<a href="#"><i class="fa fa-table"></i> <span class="nav-label" data-i18n="nav.tables">内容管理</span><span class="fa arrow"></span></a>
				<ul class="nav nav-second-level collapse @Html.IsSelected(controller: "Tables", cssClass: "in")">
					<li class="@Html.IsSelected(action: "StaticTables")"><a href="@Url.Action("StaticTables", "Tables")">Static Tables</a></li>
					<li class="@Html.IsSelected(action: "DataTables")"><a href="@Url.Action("DataTables", "Tables")">Data Tables</a></li>
					<li class="@Html.IsSelected(action: "FooTables")"><a href="@Url.Action("FooTables", "Tables")">Foo Table</a></li>
					<li class="@Html.IsSelected(action: "jqGrid")"><a href="@Url.Action("jqGrid", "Tables")">jqGrid</a></li>
				</ul>
			</li>


			<li class="@Html.IsSelected(action: "方")">
				<a href="@Url.Action("2222", "Account")"><i class="fa fa-desktop"></i> <span class="nav-label">Minor page</span></a>
			</li>
		</ul>
	</div>
</nav>

  

刷新效果图

 

三、用户管理

1.新建用户

将Account/Register 方法,改为admin布局页面即可。

2.用户管理

编写Account/ListUsers方法

[AllowAnonymous]
		[HttpGet]
		public ActionResult ListUsers() 
		{
			var user = UserManager.Users.ToList();
			
			return View(user);
		}

  这个

[AllowAnonymous]暂时是调测时使用,最后会只给Super角色的用户才能创,当然也可以私人注册,我这里思路是只能管理者创建。
编写视图注意编写前要生成方案哟。

视图代码
@model IEnumerable<MYtest2018.Models.ApplicationUser>
@{
	ViewBag.Title = "List"; Layout = "~/Views/Shared/_Layoutadmin.cshtml";
}


<div class="wrapper wrapper-content">
	<div class="ibox float-e-margins">
		<div class="ibox-title">
			<h2>用户管理</h2>
			<div class="ibox-tools">
				<a class="collapse-link">
					<i class="fa fa-chevron-up"></i>
				</a>
			</div>
		</div>

		<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">
					<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>
			<table class="table table-hover margin bottom">
				<thead>
					<tr>
						<th style="width: 1%" class="text-center">No.</th>
						<th>部室</th>
						<th class="text-center">用户名</th>
						<th class="text-center">真实名</th>
						<th class="text-center">Tel.</th>
						<th></th>
					</tr>
				</thead>
				<tbody>
@foreach (var user in Model)
{
					<tr>
						<td class="text-center">  <img src=@Html.DisplayFor(m => user.HeaderPic) alt="头像" class="img-circle" height="42">     </td>
						<td>
							@Html.DisplayFor(m => user.DepartmentId)
						</td>
						<td class="text-center small">@Html.DisplayFor(m => user.UserName) </td>
						<td class="text-center">@Html.DisplayFor(m => user.RealName)></td>
						<td class="text-center">  @Html.DisplayFor(m => user.PhoneNumber) </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-success" })
						@Html.ActionLink("头像", "UploadHeaderPic", new { id = user.Id }, new { @class = "btn btn-warning", target = "_blank" })
						</td>
					</tr>
}
					 
				</tbody>
			</table>
			 
		</div>
	</div>
</div>

  

  

然后在下一节接着讲。



因为用户管理这个比较复杂,还有部门管理,两张表的合并JOIN显示,还有其他功能,所以下一章接着讲。
下一单要先讲部门管理。


posted @ 2018-08-25 13:12  秋天来了哟  阅读(321)  评论(0)    收藏  举报
认识就是缘份,愿天下人都快乐!
QQ: 32316131
Email: 32316131@qq.com