EF做后台登录+首页(记住密码),增删改查

这篇博客详细介绍了如何使用EF(Entity Framework)来构建后台登录和首页功能。首先,通过新建MVC项目和相关类库搭建DAL、Service、Models、Web四层架构。接着,创建数据库脚本和实体类,利用EF连接数据库并生成实体模型。在DAL层,实现了DbContextFactory和BaseRepository等基础类。在Service层,创建了AdminUserService进行业务逻辑处理。最后,Web层使用Autofac进行依赖注入,并编写了控制器、登录及首页的视图页面。
摘要由CSDN通过智能技术生成

数据库脚本

USE [InfoManagerSystem]
GO
/****** Object:  Table [dbo].[User]    Script Date: 10/15/2019 08:14:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[User](
	[UserName] [varchar](200) NOT NULL,
	[UserPwd] [varchar](200) NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
INSERT [dbo].[User] ([UserName], [UserPwd]) VALUES (N'zqm', N'123456')
/****** Object:  Table [dbo].[InfoManager]    Script Date: 10/15/2019 08:14:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[InfoManager](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[Title] [varchar](200) NOT NULL,
	[Sort] [varchar](200) NOT NULL,
	[Source] [varchar](200) NOT NULL,
	[Browser] [bigint] NULL,
	[Status] [int] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[InfoManager] ON
INSERT [dbo].[InfoManager] ([ID], [Title], [Sort], [Source], [Browser], [Status]) VALUES (1, N'时间简史', N'科技', N'湖南科技出版社', 2000, 1)
INSERT [dbo].[InfoManager] ([ID], [Title], [Sort], [Source], [Browser], [Status]) VALUES (2, N'sadasd', N'0', N'sdad', 1111, 11)
SET IDENTITY_INSERT [dbo].[InfoManager] OFF

1.新建一个MVC项目,新建三个类库搭建成DAL(数据访问层),Service(业务逻辑层),Models(实体层),Web(UI层),

实体类,表示层引用EntityFramework跟EntityFramework.SqlServer

然后将模板的登录,首页,列表页面导入web层,并导入js,css,img等页面所需内容,然后修改页面中引用这些内容的路径,顶部加@{layout=null},然后在web层修改web.config配置文件,添加一个connectionString用来配置连接数据库的字符串(其中的一些属性根据自己的数据库的连接方式做修改)

<connectionStrings>
    <add name="InfoManagerSystemEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=LAPTOP-PBF802L4;initial catalog=InfoManagerSystem;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

2.在Model(实体层)添加ADO.NET实体数据模型,连接自己创建好的数据库,完成后,如下图,edmx就已经根据我们所选的数据库表生成了相应的实体,同时,在解决方案资源管理器中的T4模板Model.tt下还为自动我们生成了InfoManager和User实体类。

然后在实体层新建一个OperateResult类,里面写一个判断是否成功的属性字段,用来判断页面是否成功

3.在DAL数据访问层引用Models层,添加一个EF 6.x Dbcontext生成器,修改Model1.Context.tt中的代码为

<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ include file="EF.Utility.CS.ttinclude"#><#@
 output extension=".cs"#>
 
<#

CodeGenerationTools code = new CodeGenerationTools(this);
MetadataLoader loader = new MetadataLoader(this);
CodeRegion region = new CodeRegion(this, 1);
MetadataTools ef = new MetadataTools(this);

string inputFile = @"..\\Zhongjiali.ManagerSys.Modles\Model1.edmx";
EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
string namespaceName = code.VsNamespaceSuggestion();

EntityFrameworkTemplateFileManager fileManager = EntityFrameworkTemplateFileManager.Create(this);

#>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ManagerSys.Modles;
 

namespace ManagerSys.Repository
{
   
<#
foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{
#>
	 public partial class <#=entity.Name#>Repository : BaseRepository<<#=entity.Name#>,InfoManagerSystemEntities>
     {
		

     }	
<#}#>
	
}

Model.Context.tt下还为自动我们生成了InfoManager和User实体类。

在DAL数据访问层分别新建BaseReposity,DbContextFactory,IDenpendecyRepository类,代码如下:

namespace ManagerSys.DAL
{
    public class BaseRepository<T, TS> where T : class
                            where TS : DbContext, new()
    {
        private DbContext db = DbContextFactory<TS>.GetCurrentDbContext();


        //添加单条记录
        public bool Add(T entily)
        {
            db.Set<T>().Add(entily);
            return db.SaveChanges() > 0;

        }

        //添加多条记录
        public bool AddList(List<T> entily)
        {
            db.Set<T>().AddRange(entily);
            return db.SaveChanges() > 0;

        }

        //删除
        public bool DELETE(T entily)
        {
            db.Entry(entily).State = EntityState.Deleted;
            return db.SaveChanges() > 0;

        }

        //删除多个
        public bool BDELETE(List<T> entiles)
        {
            db.Set<T>().RemoveRange(entiles);
            return db.SaveChanges() > 0;

        }

        //根据id删除
        public bool BatchDELETE(params int[] entiles)
        {
            foreach (var id in entiles)
            {
                var entity = db.Set<T>().Find(id);
                if (entity != null)
                {
                    db.Set<T>().Remove(entity);
                }
            }
            return db.SaveChanges() > 0;

        }
        //修改
        public bool Update(T entily)
        {
            db.Entry(entily).State = EntityState.Modified;
            return db.SaveChanges() > 0;
        }

        //查询一个集合
        public List<T> QueryList(Expression<Func<T, bool>> lambdaExpression)
        {
            return db.Set<T>().Where(lambdaExpression).ToList();
        }

        //查询一个对象,如果没有返回null

        public T Query(Expression<Func<T, bool>> lambdaExpression)
        {
            return db.Set<T>().SingleOrDefault(lambdaExpression);
        }

        public bool Exists(Expression<Func<T, bool>> lambdaExpression)
        {
            return db.Set<T>().Any(lambdaExpression);
        }

        //分页查询
        public List<T> QuerypageList<S>(int pageIndex, int pageSize, Expression<Func<T, bool>> wheredma, Expression<Func<T, S>> orderbyLamba, out int count, bool isAc = true)
        {
            count = db.Set<T>().Where(wheredma).Count();
            if (!isAc)
            {
                return db.Set<T>().Where(wheredma).OrderByDescending(orderbyLamba).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
            }
            else
            {
                return db.Set<T>().Where(wheredma).OrderBy(orderbyLamba).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();

            }
        }
    }
}
namespace ManagerSys.DAL
{
   
    
        public class DbContextFactory<TS> where TS : DbContext, new()
        {
            public static DbContext GetCurrentDbContext()
            {
                var dbContext = CallContext.GetData(typeof(TS).Name) as DbContext;
                if (dbContext != null)
                {
                    return dbContext;
                }
                else
                {
                    dbContext = new TS();
                    CallContext.SetData(typeof(TS).Name, dbContext);
                    return dbContext;
                }
            }
        }
    }

4.在service业务逻辑层新建一个AdminUserService类,引用DAL,Models层,代码如下:

 public class AdminUserService : BaseService<User>
    {
        #region 使用lambdam表达式
        /// <summary>
        /// 记住密码
        /// </summary>
        /// <param name="users"></param>
        /// <returns></returns>
        public User AdminByReader(User users)
        {
            return Query(a => a.UserName == users.UserName && a.UserPwd == users.UserPwd);
        } 
        #endregion
    }

新建BaseService类:

public class BaseService<T> where T : class
    {
        private BaseRepository<T, InfoManagerSystemEntities> baseRepository = new BaseRepository<T, InfoManagerSystemEntities>();

        //添加单条记录
        public virtual bool Add(T entily)
        {

            return baseRepository.Add(entily);

        }

        //添加多条记录
        public virtual bool AddList(List<T> entily)
        {
            return baseRepository.AddList(entily);
        }

        //删除
        public virtual bool DELETE(T entily)
        {
            return baseRepository.DELETE(entily);
        }

        //删除多个
        public virtual bool BDELETE(List<T> entiles)
        {
            return baseRepository.BDELETE(entiles);
        }

        //根据id删除
        public bool BatchDELETE(params int[] entiles)
        {
            return baseRepository.BatchDELETE(entiles);
        }
        //修改
        public virtual bool Update(T entily)
        {

            return baseRepository.Update(entily);
        }

        //查询一个集合
        public virtual List<T> QueryList(Expression<Func<T, bool>> lambdaExpression)
        {
            return baseRepository.QueryList(lambdaExpression);
        }

        //查询一个对象,如果没有返回null

        public virtual T Query(Expression<Func<T, bool>> lambdaExpression)
        {
            return baseRepository.Query(lambdaExpression);
        }

        public virtual bool Exists(Expression<Func<T, bool>> lambdaExpression)
        {
            return baseRepository.Exists(lambdaExpression);
        }

        //分页查询
        public virtual List<T> QuerypageList<S>(int pageIndex, int pageSize, Expression<Func<T, bool>> wheredma, Expression<Func<T, S>> orderbyLamba, out int count, bool isAc = true)
        {
            return baseRepository.QuerypageList(pageIndex, pageSize, wheredma, orderbyLamba, out count, isAc);
        }
    }

新建IDenpendecy类

新建ModueService类:

 public class ModueService : BaseService<InfoManager>
    {
        public InfoManager SelectInfoMangers(int id)
        {
            return Query(a => a.ID == id);

        }
    }

5.web层引用其他三层和Autofac,在web层中的控制器修改Home控制器的代码为:

 public class HomeController : Controller
    {
        [PermissionAttribute]
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult adminlist()
        {
            return View();
        }
        
       public ActionResult articleadd(int id)
        {
            //UserIndex页面传一个id判断改添加操作还是修改操作
            if (id!= 0)
            {
                ModueService modueService = new ModueService();
                //读取信息调用SelectUserInfo方法
                ViewBag.info = modueService.SelectInfoMangers(id);
            }
            return View();
 
        }

        public ActionResult articlelist()
        {
            return View();
        }

        public ActionResult login()
        {
            HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies.Get("CookieName");
            if (cookie != null)
            {
                string name = cookie["UserName"];//等同于string name = cookie.Values.Get("UserName");
                string pwd = cookie["UserPwd"];
                DateTime time = DateTime.Parse(cookie["time"]);

                if (name != null && pwd != null && time != null && DateTime.Now < time)
                {
                    //将Cookie中的值赋给上下文session  使其在不登录时页面也能够显示
                    AdminContext.context.adminUser = new User()
                    {
                        UserName = name,
                        UserPwd = pwd
                    };
                    return Redirect("/Home/Index");
                }
            }

            return View();
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }

然后新建一个AdminUser控制器,代码如下:

public class AdminUserController : Controller
    {

        public JsonResult Add(InfoManager infoManager)
        {
            ModueService modueService = new ModueService();
            OperateResult operateResult = new OperateResult();
            operateResult.Success = modueService.Add(infoManager);
            return Json(operateResult);
        }

        //修改
        public JsonResult Update(InfoManager infoManager)
        {
            ModueService modueService = new ModueService();
            OperateResult operateResult = new OperateResult();
            operateResult.Success = modueService.Update(infoManager);
            return Json(operateResult);
        }

        #region 登陆操作
        /// <summary>
        /// 登陆
        /// </summary>
        /// <param name="name"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public JsonResult Query(User users)
        { 
            AdminUserService adminUserService = new AdminUserService();
            OperateResult result = new OperateResult();
            User user = users;
            




            Expression<Func<User, bool>> lambdaExpression = a => a.UserName==users.UserName && a.UserPwd==users.UserPwd;
            //调用业务层的lamdam表达式的记住密码
            user= adminUserService.AdminByReader(user);
            result.Success = adminUserService.Query(lambdaExpression) != null;
            if(result.Success)
            {
                //创建Cookie对象
                HttpCookie httpCookie = new HttpCookie("CookieName");
                httpCookie.Values.Add("UserName", user.UserName);
                httpCookie.Values.Add("UserPwd", user.UserPwd);
               
                //设置过期时间
                httpCookie.Values.Add("time",DateTime.Now.AddDays(7).ToString());
                //添加Cookie对象
                System.Web.HttpContext.Current.Response.Cookies.Add(httpCookie);
            }
            //给上下文赋值
            AdminContext.context.adminUser = user;
            return Json(result);
        }
        #endregion

        //删除单条数据
        public JsonResult DELETE(InfoManager infoManager)
        {
            ModueService modueService = new ModueService();
            OperateResult operateResult = new OperateResult();
            operateResult.Success = modueService.DELETE(infoManager);
            return Json(operateResult);
        }


        /// <summary>
        /// 去除session和cookie
        /// </summary>
        /// <returns></returns>
        #region 去除session和cookie
        public ActionResult AdminOut()
        {
            //清除session
            AdminContext.context.adminUser = null;
            //获取cookie
            HttpCookie cok = Response.Cookies["UserName"];
            if (cok != null)
            {
                cok.Values.Clear();
            }
            return Redirect("/Home/login");
        }
        #endregion

        //分页查询
        public JsonResult GetMoudelList(int page, int limit)
        {
            ModueService modueService = new ModueService();
            ResultDataSet<InfoManager> resultDataSet = new ResultDataSet<InfoManager>();
            resultDataSet.code = 0;
            resultDataSet.msg = string.Empty;
            resultDataSet.count = 0;
            int count = 0;
            List<InfoManager> modules = new List<InfoManager>();
            Expression<Func<InfoManager, bool>> whereLambda = a =>true;
            Expression<Func<InfoManager, int>> orderbyLambda = a => a.ID;
            resultDataSet.data = modueService.QuerypageList(page, limit, whereLambda, orderbyLambda, out count);
            return Json(resultDataSet,JsonRequestBehavior.AllowGet);
        }


        // GET: AdminUser
        public ActionResult Index()
        {
            return View();
        }
    }

 

然后在web层新建一个Dependcy文件夹,文件夹下新建AutofacConfig类,定义Autofac注入方法,代码如下:

public class AutofacConfig
    {
        public static void RegisterAutofac()
        {
            // 创建一个容器
            var builder = new ContainerBuilder();
            Type basetype = typeof(IDenpendecy);
            var assemblys = AppDomain.CurrentDomain.GetAssemblies().ToList();
            builder.RegisterAssemblyTypes(assemblys.ToArray())
                .Where(t => basetype.IsAssignableFrom(t) && t != basetype)
                .AsImplementedInterfaces().InstancePerLifetimeScope();

            Type repository = typeof(IDenpendecyRepository);
            builder.RegisterAssemblyTypes(assemblys.ToArray())
                .Where(t => repository.IsAssignableFrom(t) && t != repository)
                .AsImplementedInterfaces().InstancePerLifetimeScope();
            builder.RegisterControllers(assemblys.ToArray());
            var container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }
    }

然后在Web层新建一个Models文件夹,文件夹下新建AdminContext,ResultDataSet类,代码如下

AdminContext类:

public class AdminContext
    {
        /// <summary>
        /// 设置key值
        /// </summary>
        private const string sessionKey = "AdminInfo_session_Key";
        public HttpSessionState httpSession => HttpContext.Current.Session;
        /// <summary>
        /// 设置静态 上下文
        /// </summary>
        public static AdminContext context = new AdminContext();
        /// <summary>
        /// 设置用户表
        /// </summary>

        public User adminUser
        {
            get
            {
                return httpSession[sessionKey] as User;
            }
            set
            {
                httpSession[sessionKey] = value;
            }
        }
    }

ResultDataSet类:

public class ResultDataSet<T>
    {
        public int code { get; set; }
        public string msg { get; set; }
        public int count { get; set; }
        public List<T> data { get; set; }
    }

修改Global.asax文件为:

public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AutofacConfig.RegisterAutofac();
        }
    }

在web层新建一个Attributes文件夹,下面新建三个类,代码如下:

ActionAttribute 类:

public class ActionAttribute : ActionFilterAttribute  //行为过滤器
    {
        /// <summary>
        /// 调用控制器对应的Action方法之后的操作
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (AdminContext.context.adminUser != null)
            {
                //获取用户名
                string username = AdminContext.context.adminUser.UserName;
                string controller = filterContext.RouteData.Values["Controller"].ToString();
                string action = filterContext.RouteData.Values["Action"].ToString();
                //获取系统的日志
                string msg = $"时间:{DateTime.Now},用户名:{username},已完成控制器:{controller},页面:{action}";
                //获取文件路径
                string path = "D:\\lj.txt";
                File.AppendAllText(path, msg);
            }
               
        }


        /// <summary>
        /// 调用控制器对应的Action方法之前的操作
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (AdminContext.context.adminUser != null)
            {
                string username = AdminContext.context.adminUser.UserName;
                string controller = filterContext.RouteData.Values["Controller"].ToString();
                string action = filterContext.RouteData.Values["Action"].ToString();
                //获取系统的日志
                string msg = $"时间:{DateTime.Now},用户名:{username},正在操作控制器:{controller},页面:{action}";
                //获取文件路径
                string path = "D:\\Exception.txt";
                File.AppendAllText(path, msg);
            }

                //获取用户名
         
        }

        /// <summary>
        /// 调用控制器对应的Action方法之后页面渲染之后的操作
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {

        }

        /// <summary>
        /// 调用控制器对应的Action方法之后页面渲染之前的操作
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnResultExecuting(ResultExecutingContext filterContext)
        {

        }


    }

ExceptionAttribute类:

 public class ExceptionAttribute : HandleErrorAttribute  //异常过滤器
    {
        /// <summary>
        /// 系统发生异常的操作
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnException(ExceptionContext filterContext)
        {
            //Exception exception = filterContext.Exception;
            //string msg = exception.Message;

            //获取系统的日志
            string exception = filterContext.Exception.ToString();
            string msg = $"时间:{DateTime.Now},系统出错:{exception}";
            //获取文件路径
            string path = "D:\\Exception.txt";
            //如果文件不存在则创建
            /*if (!File.Exists(path))
            {
                File.Create(path);
            }*/
            File.AppendAllText(path, msg);
        }
    }

PermissionAttribute 类:

public class PermissionAttribute : AuthorizeAttribute  //权限过滤器
    {
        /// <summary>
        /// 判断认证是否通过
        /// </summary>
        /// <param name="httpContext"></param>
        /// <returns></returns>
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            //如果上下文不为空
            if (AdminContext.context.adminUser != null && httpContext.Session != null)
            {
                return true;
            }
            return false;

        }

        /// <summary>
        ///认证不通过的时候所做的操作
        /// </summary>
        /// <param name="filterContext"></param>
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            //获取用户请求的地址
            string path = filterContext.HttpContext.Request.Path;

            //自定义路由跳转
            Dictionary<string, object> keys = new Dictionary<string, object>();
            keys.Add("Controller", "Home");
            keys.Add("Action", "Login");
            keys.Add("ReturnUrl", path);
            var routeValue = new RouteValueDictionary(keys);

            //根据指定路由跳转
            filterContext.Result = new RedirectToRouteResult(routeValue);

        }
    }

登录页面Login.cshtml代码:

@{
    Layout = null;
}
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <!--[if lt IE 9]>
    <script type="text/javascript" src="lib/html5shiv.js"></script>
    <script type="text/javascript" src="lib/respond.min.js"></script>
    <![endif]-->
    <link href="~/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
    <link href="~/static/h-ui.admin/css/H-ui.login.css" rel="stylesheet" type="text/css" />
    <link href="~/static/h-ui.admin/css/style.css" rel="stylesheet" type="text/css" />
    <link href="~/lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
    <link rel="stylesheet" href="~/Scripts/static/common/layui/css/layui.css" />
    <!--[if IE 6]>
    <script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js" ></script>
    <script>DD_belatedPNG.fix('*');</script>
    <![endif]-->
    <title>后台登录 - H-ui.admin v3.1</title>
    <meta name="keywords" content="H-ui.admin v3.1,H-ui网站后台模版,后台模版下载,后台管理系统模版,HTML后台模版下载">
    <meta name="description" content="H-ui.admin v3.1,是一款由国人开发的轻量级扁平化网站后台模板,完全免费开源的网站后台管理系统模版,适合中小型CMS后台系统。">
</head>
<body>
    <input type="hidden" id="TenantId" name="TenantId" value="" />
    <div class="header"></div>
    <div class="loginWraper">
        username
        <div id="loginform" class="loginBox">
            <div>
                <div class="row cl">
                    <label class="form-label col-xs-3"><i class="Hui-iconfont">&#xe60d;</i></label>
                    <div class="formControls col-xs-8">
                        <input id="username" name="" type="text" placeholder="账户" class="input-text size-L">
                    </div>
                </div>
                <div class="row cl">
                    <label class="form-label col-xs-3"><i class="Hui-iconfont">&#xe60e;</i></label>
                    <div class="formControls col-xs-8">
                        <input id="pwd" name="" type="password" placeholder="密码" class="input-text size-L">
                    </div>
                </div>
                <div class="row cl">
                    <div class="formcontrols col-xs-8 col-xs-offset-3">
                        <input class="input-text size-l" type="text" id="code" placeholder="验证码" onblur="if(this.value==''){this.value='验证码:'}" onclick="if(this.value=='验证码:'){this.value='';}" value="验证码:" style="width:150px;">
                        <canvas id="canvas" width="100" height="38"></canvas>
                    </div>
                    <div class="row cl">
                        <div class="formControls col-xs-8 col-xs-offset-3">
                            <label for="online">
                                <input type="checkbox" name="online" id="online" value="">
                                记住密码
                            </label>
                        </div>
                    </div>
                    <div class="row cl">
                        <div class="formControls col-xs-8 col-xs-offset-3">
                            <input name="" type="submit" class="btn btn-success radius size-L" id="login_btn" value="&nbsp;登&nbsp;&nbsp;&nbsp;&nbsp;录&nbsp;">
                            <input name="" type="reset" class="btn btn-default radius size-L" value="&nbsp;取&nbsp;&nbsp;&nbsp;&nbsp;消&nbsp;">
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="footer">Copyright 你的公司名称 by H-ui.admin v3.1</div>
        <script type="text/javascript" src="~/lib/jquery/1.9.1/jquery.min.js"></script>
        <script type="text/javascript" src="~/static/h-ui/js/H-ui.min.js"></script>
        <script src="~/assets/layer/layer.js" type="text/javascript"></script>
        <script src="~/Scripts/static/common/layui/layui.js"></script>
        <script src="~/Scripts/static/admin/js/canvas.js"></script>
        <!--此乃百度统计代码,请自行删除-->
        <script>
            var _hmt = _hmt || [];
            (function () {
                var hm = document.createElement("script");
                hm.src = "https://hm.baidu.com/hm.js?080836300300be57b7f34f4b3e97d911";
                var s = document.getElementsByTagName("script")[0];
                s.parentNode.insertBefore(hm, s);
            })();
        </script>


</body>
</html>
@*<script>
        $(function () {
            $("#login_btn").click(function () {
                var data = {};
                data.UserName = $("#username").val();
                data.UserPwd = $("#pwd").val();
                $.ajax({
                    data: data,
                    type: "post",
                    url: "/AdminUser/Query",
                    success: function (result) {
                        if (result.Success) {
                            alert("登陆成功");
                            //layer.alert('登录成功!', {
                            //    title: '提示框',
                            //    icon: 1,
                            //});
                            window.location.href="/Home/Index";
                            //layer.close(index);
                        } else {
                        } else {
                             alert("登陆失败");
                            //layer.alert('登录失败!', {
                            //    title: '提示框',
                            //    icon: 1,
                            //});
                        }
                    }
                })
            })
        });

    </script>*@

<script>
    $(function () {
        //页面加载刷新验证码
        var show_num = [];
        draw(show_num);

        //点击图片刷新验证码
        $("#canvas").on('click', function () {
            draw(show_num);
        })

        layui.use('form', function () {
            var form = layui.form,
                layer = layui.layer,
                $ = layui.jquery;



            //表单提交
            //form.on('submit(login)', function (operateResult) {
            //	//验证码校验
            //	var val = $("#code").val().toLowerCase();
            //	var num = show_num.join("");
            //	if(val==''){
            //		layer.alert('请输入验证码!');
            //	}else if(val != num){
            //		layer.alert('验证码错误!请重新输入!');
            //		$("#code").val('');
            //		draw(show_num);
            //	}
            //	else
            //                {
            //                    if (operateResult.Success) {
            //                        //验证码校验成功之后提交到后台
            //		    layer.alert('登录成功!');
            //		    window.location.href = '/Home/Index';
            //                    }
            //	}
            //	return false;
            //});
        });

        $("#login_btn").click(function () {
            var data = {};
            data.UserName = $("#username").val();
            data.UserPwd = $("#pwd").val();
            //验证码校验
            var val = $("#code").val().toLowerCase();
            var num = show_num.join("");
            if (val == '') {
                layer.alert('请输入验证码!');
            } else if (val != num) {
                layer.alert('验证码错误!请重新输入!');
                $("#code").val('');
                draw(show_num);
            }
            else {
                $.ajax({
                    data: data,
                    type: "post",
                    url: "/AdminUser/Query",
                    success: function (result) {
                        if (result.Success) {
                            layer.alert('登录成功!', {
                                title: '提示框',
                                icon: 1,
                            });
                            location.href = "/Home/Index";
                            layer.close(index);
                        } else {
                            layer.alert('登录失败!', {
                                title: '提示框',
                                icon: 1,
                            });
                        }
                    }
                })
            }

        })

    });

</script>

首页index.cshtml页面代码:

@{
    Layout = null;
}


@{
    ViewBag.Title = "Home Page";
    var admin = AdminContext.context.adminUser;
}
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <link rel="Bookmark" href="~/favicon.ico">
    <link rel="Shortcut Icon" href="~/favicon.ico" />
    <!--[if lt IE 9]>
    <script type="text/javascript" src="lib/html5shiv.js"></script>
    <script type="text/javascript" src="lib/respond.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" type="text/css" href="~/static/h-ui/css/H-ui.min.css" />
    <link rel="stylesheet" type="text/css" href="~/static/h-ui.admin/css/H-ui.admin.css" />
    <link rel="stylesheet" type="text/css" href="~/lib/Hui-iconfont/1.0.8/iconfont.css" />
    <link rel="stylesheet" type="text/css" href="~/static/h-ui.admin/skin/default/skin.css" id="skin" />
    <link rel="stylesheet" type="text/css" href="~/static/h-ui.admin/css/style.css" />
    <script type="text/javascript" src="~/lib/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="~/lib/layer/2.4/layer.js"></script>
    <script type="text/javascript" src="~/static/h-ui/js/H-ui.min.js"></script>
    <script type="text/javascript" src="~/static/h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
    <!--请在下方写此页面业务相关的脚本-->
    <script type="text/javascript" src="~/lib/jquery.contextmenu/jquery.contextmenu.r2.js"></script>
    <!--[if IE 6]>
    <script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js" ></script>
    <script>DD_belatedPNG.fix('*');</script>
    <![endif]-->
    <title>H-ui.admin v3.1</title>
    <meta name="keywords" content="H-ui.admin v3.1,H-ui网站后台模版,后台模版下载,后台管理系统模版,HTML后台模版下载">
    <meta name="description" content="H-ui.admin v3.1,是一款由国人开发的轻量级扁平化网站后台模板,完全免费开源的网站后台管理系统模版,适合中小型CMS后台系统。">
</head>
<body>
    <header class="navbar-wrapper">
        <div class="navbar navbar-fixed-top">
            <div class="container-fluid cl">
                <a class="logo navbar-logo f-l mr-10 hidden-xs" href="/aboutHui.shtml">H-ui.admin</a> <a class="logo navbar-logo-m f-l mr-10 visible-xs" href="/aboutHui.shtml">H-ui</a>
                <span class="logo navbar-slogan f-l mr-10 hidden-xs">v3.1</span>
                <a aria-hidden="false" class="nav-toggle Hui-iconfont visible-xs" href="javascript:;">&#xe667;</a>
                <nav class="nav navbar-nav">
                    <ul class="cl">
                        <li class="dropDown dropDown_hover">
                            <a href="javascript:;" class="dropDown_A"><i class="Hui-iconfont">&#xe600;</i> 新增 <i class="Hui-iconfont">&#xe6d5;</i></a>
                            <ul class="dropDown-menu menu radius box-shadow">
                                <li><a href="javascript:;" onclick="article_add('添加资讯','article-add.html')"><i class="Hui-iconfont">&#xe616;</i> 资讯</a></li>
                                <li><a href="javascript:;" onclick="picture_add('添加资讯','picture-add.html')"><i class="Hui-iconfont">&#xe613;</i> 图片</a></li>
                                <li><a href="javascript:;" onclick="product_add('添加资讯','product-add.html')"><i class="Hui-iconfont">&#xe620;</i> 产品</a></li>
                                <li><a href="javascript:;" onclick="member_add('添加用户','member-add.html','','510')"><i class="Hui-iconfont">&#xe60d;</i> 用户</a></li>
                            </ul>
                        </li>
                    </ul>
                </nav>
                <nav id="Hui-userbar" class="nav navbar-nav navbar-userbar hidden-xs">
                    <ul class="cl">
                        <li>超级管理员</li>
                        <li class="dropDown dropDown_hover">
                            <a href="#" class="dropDown_A">
                                欢迎光临 @if (admin != null)
                                {@admin.UserName}
                                <i class="Hui-iconfont">&#xe6d5;</i>
                            </a>
                            <ul class="dropDown-menu menu radius box-shadow">
                                <li><a href="javascript:;" onClick="myselfinfo()">个人信息</a></li>
                                <li><a href="#">切换账户</a></li>
                                <li><a href="#">退出</a></li>
                            </ul>
                        </li>
                        <li id="Hui-msg"> <a href="#" title="消息"><span class="badge badge-danger">1</span><i class="Hui-iconfont" style="font-size:18px">&#xe68a;</i></a> </li>
                        <li id="Hui-skin" class="dropDown right dropDown_hover">
                            <a href="javascript:;" class="dropDown_A" title="换肤"><i class="Hui-iconfont" style="font-size:18px">&#xe62a;</i></a>
                            <ul class="dropDown-menu menu radius box-shadow">
                                <li><a href="javascript:;" data-val="default" title="默认(黑色)">默认(黑色)</a></li>
                                <li><a href="javascript:;" data-val="blue" title="蓝色">蓝色</a></li>
                                <li><a href="javascript:;" data-val="green" title="绿色">绿色</a></li>
                                <li><a href="javascript:;" data-val="red" title="红色">红色</a></li>
                                <li><a href="javascript:;" data-val="yellow" title="黄色">黄色</a></li>
                                <li><a href="javascript:;" data-val="orange" title="橙色">橙色</a></li>
                            </ul>
                        </li>
                    </ul>
                </nav>
            </div>
        </div>
    </header>
    <aside class="Hui-aside">
        <div class="menu_dropdown bk_2">
            <dl id="menu-article">
                <dt><i class="Hui-iconfont">&#xe616;</i> 资讯管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="articlelist" data-title="资讯管理" href="javascript:void(0)">资讯管理</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-picture">
                <dt><i class="Hui-iconfont">&#xe613;</i> 图片管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="picture-list.html" data-title="图片管理" href="javascript:void(0)">图片管理</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-product">
                <dt><i class="Hui-iconfont">&#xe620;</i> 产品管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="product-brand.html" data-title="品牌管理" href="javascript:void(0)">品牌管理</a></li>
                        <li><a data-href="product-category.html" data-title="分类管理" href="javascript:void(0)">分类管理</a></li>
                        <li><a data-href="product-list.html" data-title="产品管理" href="javascript:void(0)">产品管理</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-comments">
                <dt><i class="Hui-iconfont">&#xe622;</i> 评论管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="http://h-ui.duoshuo.com/admin/" data-title="评论列表" href="javascript:;">评论列表</a></li>
                        <li><a data-href="feedback-list.html" data-title="意见反馈" href="javascript:void(0)">意见反馈</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-member">
                <dt><i class="Hui-iconfont">&#xe60d;</i> 会员管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="member-list.html" data-title="会员列表" href="javascript:;">会员列表</a></li>
                        <li><a data-href="member-del.html" data-title="删除的会员" href="javascript:;">删除的会员</a></li>
                        <li><a data-href="member-level.html" data-title="等级管理" href="javascript:;">等级管理</a></li>
                        <li><a data-href="member-scoreoperation.html" data-title="积分管理" href="javascript:;">积分管理</a></li>
                        <li><a data-href="member-record-browse.html" data-title="浏览记录" href="javascript:void(0)">浏览记录</a></li>
                        <li><a data-href="member-record-download.html" data-title="下载记录" href="javascript:void(0)">下载记录</a></li>
                        <li><a data-href="member-record-share.html" data-title="分享记录" href="javascript:void(0)">分享记录</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-admin">
                <dt><i class="Hui-iconfont">&#xe62d;</i> 管理员管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="admin-role.html" data-title="角色管理" href="javascript:void(0)">角色管理</a></li>
                        <li><a data-href="admin-permission.html" data-title="权限管理" href="javascript:void(0)">权限管理</a></li>
                        <li><a data-href="AdminList" data-title="管理员列表" href="javascript:void(0)">管理员列表</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-tongji">
                <dt><i class="Hui-iconfont">&#xe61a;</i> 系统统计<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="charts-1.html" data-title="折线图" href="javascript:void(0)">折线图</a></li>
                        <li><a data-href="charts-2.html" data-title="时间轴折线图" href="javascript:void(0)">时间轴折线图</a></li>
                        <li><a data-href="charts-3.html" data-title="区域图" href="javascript:void(0)">区域图</a></li>
                        <li><a data-href="charts-4.html" data-title="柱状图" href="javascript:void(0)">柱状图</a></li>
                        <li><a data-href="charts-5.html" data-title="饼状图" href="javascript:void(0)">饼状图</a></li>
                        <li><a data-href="charts-6.html" data-title="3D柱状图" href="javascript:void(0)">3D柱状图</a></li>
                        <li><a data-href="charts-7.html" data-title="3D饼状图" href="javascript:void(0)">3D饼状图</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-system">
                <dt><i class="Hui-iconfont">&#xe62e;</i> 系统管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="system-base.html" data-title="系统设置" href="javascript:void(0)">系统设置</a></li>
                        <li><a data-href="system-category.html" data-title="栏目管理" href="javascript:void(0)">栏目管理</a></li>
                        <li><a data-href="system-data.html" data-title="数据字典" href="javascript:void(0)">数据字典</a></li>
                        <li><a data-href="system-shielding.html" data-title="屏蔽词" href="javascript:void(0)">屏蔽词</a></li>
                        <li><a data-href="system-log.html" data-title="系统日志" href="javascript:void(0)">系统日志</a></li>
                    </ul>
                </dd>
            </dl>
        </div>
    </aside>
    <div class="dislpayArrow hidden-xs"><a class="pngfix" href="javascript:void(0);" onClick="displaynavbar(this)"></a></div>
    <section class="Hui-article-box">
        <div id="Hui-tabNav" class="Hui-tabNav hidden-xs">
            <div class="Hui-tabNav-wp">
                <ul id="min_title_list" class="acrossTab cl">
                    <li class="active">
                        @*<span title="我的桌面" data-href="Welcome">我的桌面</span>*@
                        <em></em>
                    </li>
                </ul>
            </div>
            <div class="Hui-tabNav-more btn-group"><a id="js-tabNav-prev" class="btn radius btn-default size-S" href="javascript:;"><i class="Hui-iconfont">&#xe6d4;</i></a><a id="js-tabNav-next" class="btn radius btn-default size-S" href="javascript:;"><i class="Hui-iconfont">&#xe6d7;</i></a></div>
        </div>
        <div id="iframe_box" class="Hui-article">
            <div class="show_iframe">
                <div style="display:none" class="loading"></div>
                <iframe scrolling="yes" frameborder="0" src="Welcome"></iframe>
            </div>
        </div>
    </section>

    <div class="contextMenu" id="Huiadminmenu">
        <ul>
            <li id="closethis">关闭当前 </li>
            <li id="closeall">关闭全部 </li>
        </ul>
    </div>
    <!--_footer 作为公共模版分离出去-->
    </body>
</html>

    <script type="text/javascript">
        $(function () {
            /*$("#min_title_list li").contextMenu('Huiadminmenu', {
                bindings: {
                    'closethis': function(t) {
                        console.log(t);
                        if(t.find("i")){
                            t.find("i").trigger("click");
                        }
                    },
                    'closeall': function(t) {
                        alert('Trigger was '+t.id+'\nAction was Email');
                    },
                }
            });*/
        });
        /*个人信息*/
        function myselfinfo() {
            layer.open({
                type: 1,
                area: ['300px', '200px'],
                fix: false, //不固定
                maxmin: true,
                shade: 0.4,
                title: '查看信息',
                content: '<div>管理员信息</div>'
            });
        }

        /*资讯-添加*/
        function article_add(title, url) {
            var index = layer.open({
                type: 2,
                title: title,
                content: url
            });
            layer.full(index);
        }
        /*图片-添加*/
        function picture_add(title, url) {
            var index = layer.open({
                type: 2,
                title: title,
                content: url
            });
            layer.full(index);
        }
        /*产品-添加*/
        function product_add(title, url) {
            var index = layer.open({
                type: 2,
                title: title,
                content: url
            });
            layer.full(index);
        }
        /*用户-添加*/
        function member_add(title, url, w, h) {
            layer_show(title, url, w, h);
        }
    </script>
</body>

列表页面articlelist.cshtm代码:

@{
    Layout = null;
}


@{
    ViewBag.Title = "Home Page";
    var admin = AdminContext.context.adminUser;
}
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <link rel="Bookmark" href="~/favicon.ico">
    <link rel="Shortcut Icon" href="~/favicon.ico" />
    <!--[if lt IE 9]>
    <script type="text/javascript" src="lib/html5shiv.js"></script>
    <script type="text/javascript" src="lib/respond.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" type="text/css" href="~/static/h-ui/css/H-ui.min.css" />
    <link rel="stylesheet" type="text/css" href="~/static/h-ui.admin/css/H-ui.admin.css" />
    <link rel="stylesheet" type="text/css" href="~/lib/Hui-iconfont/1.0.8/iconfont.css" />
    <link rel="stylesheet" type="text/css" href="~/static/h-ui.admin/skin/default/skin.css" id="skin" />
    <link rel="stylesheet" type="text/css" href="~/static/h-ui.admin/css/style.css" />
    <script type="text/javascript" src="~/lib/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="~/lib/layer/2.4/layer.js"></script>
    <script type="text/javascript" src="~/static/h-ui/js/H-ui.min.js"></script>
    <script type="text/javascript" src="~/static/h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
    <!--请在下方写此页面业务相关的脚本-->
    <script type="text/javascript" src="~/lib/jquery.contextmenu/jquery.contextmenu.r2.js"></script>
    <!--[if IE 6]>
    <script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js" ></script>
    <script>DD_belatedPNG.fix('*');</script>
    <![endif]-->
    <title>H-ui.admin v3.1</title>
    <meta name="keywords" content="H-ui.admin v3.1,H-ui网站后台模版,后台模版下载,后台管理系统模版,HTML后台模版下载">
    <meta name="description" content="H-ui.admin v3.1,是一款由国人开发的轻量级扁平化网站后台模板,完全免费开源的网站后台管理系统模版,适合中小型CMS后台系统。">
</head>
<body>
    <header class="navbar-wrapper">
        <div class="navbar navbar-fixed-top">
            <div class="container-fluid cl">
                <a class="logo navbar-logo f-l mr-10 hidden-xs" href="/aboutHui.shtml">H-ui.admin</a> <a class="logo navbar-logo-m f-l mr-10 visible-xs" href="/aboutHui.shtml">H-ui</a>
                <span class="logo navbar-slogan f-l mr-10 hidden-xs">v3.1</span>
                <a aria-hidden="false" class="nav-toggle Hui-iconfont visible-xs" href="javascript:;">&#xe667;</a>
                <nav class="nav navbar-nav">
                    <ul class="cl">
                        <li class="dropDown dropDown_hover">
                            <a href="javascript:;" class="dropDown_A"><i class="Hui-iconfont">&#xe600;</i> 新增 <i class="Hui-iconfont">&#xe6d5;</i></a>
                            <ul class="dropDown-menu menu radius box-shadow">
                                <li><a href="javascript:;" onclick="article_add('添加资讯','article-add.html')"><i class="Hui-iconfont">&#xe616;</i> 资讯</a></li>
                                <li><a href="javascript:;" onclick="picture_add('添加资讯','picture-add.html')"><i class="Hui-iconfont">&#xe613;</i> 图片</a></li>
                                <li><a href="javascript:;" onclick="product_add('添加资讯','product-add.html')"><i class="Hui-iconfont">&#xe620;</i> 产品</a></li>
                                <li><a href="javascript:;" onclick="member_add('添加用户','member-add.html','','510')"><i class="Hui-iconfont">&#xe60d;</i> 用户</a></li>
                            </ul>
                        </li>
                    </ul>
                </nav>
                <nav id="Hui-userbar" class="nav navbar-nav navbar-userbar hidden-xs">
                    <ul class="cl">
                        <li>超级管理员</li>
                        <li class="dropDown dropDown_hover">
                            <a href="#" class="dropDown_A">
                                欢迎光临 @if (admin != null)
                                {@admin.UserName}
                                <i class="Hui-iconfont">&#xe6d5;</i>
                            </a>
                            <ul class="dropDown-menu menu radius box-shadow">
                                <li><a href="javascript:;" onClick="myselfinfo()">个人信息</a></li>
                                <li><a href="#">切换账户</a></li>
                                <li><a href="#">退出</a></li>
                            </ul>
                        </li>
                        <li id="Hui-msg"> <a href="#" title="消息"><span class="badge badge-danger">1</span><i class="Hui-iconfont" style="font-size:18px">&#xe68a;</i></a> </li>
                        <li id="Hui-skin" class="dropDown right dropDown_hover">
                            <a href="javascript:;" class="dropDown_A" title="换肤"><i class="Hui-iconfont" style="font-size:18px">&#xe62a;</i></a>
                            <ul class="dropDown-menu menu radius box-shadow">
                                <li><a href="javascript:;" data-val="default" title="默认(黑色)">默认(黑色)</a></li>
                                <li><a href="javascript:;" data-val="blue" title="蓝色">蓝色</a></li>
                                <li><a href="javascript:;" data-val="green" title="绿色">绿色</a></li>
                                <li><a href="javascript:;" data-val="red" title="红色">红色</a></li>
                                <li><a href="javascript:;" data-val="yellow" title="黄色">黄色</a></li>
                                <li><a href="javascript:;" data-val="orange" title="橙色">橙色</a></li>
                            </ul>
                        </li>
                    </ul>
                </nav>
            </div>
        </div>
    </header>
    <aside class="Hui-aside">
        <div class="menu_dropdown bk_2">
            <dl id="menu-article">
                <dt><i class="Hui-iconfont">&#xe616;</i> 资讯管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="articlelist" data-title="资讯管理" href="javascript:void(0)">资讯管理</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-picture">
                <dt><i class="Hui-iconfont">&#xe613;</i> 图片管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="picture-list.html" data-title="图片管理" href="javascript:void(0)">图片管理</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-product">
                <dt><i class="Hui-iconfont">&#xe620;</i> 产品管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="product-brand.html" data-title="品牌管理" href="javascript:void(0)">品牌管理</a></li>
                        <li><a data-href="product-category.html" data-title="分类管理" href="javascript:void(0)">分类管理</a></li>
                        <li><a data-href="product-list.html" data-title="产品管理" href="javascript:void(0)">产品管理</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-comments">
                <dt><i class="Hui-iconfont">&#xe622;</i> 评论管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="http://h-ui.duoshuo.com/admin/" data-title="评论列表" href="javascript:;">评论列表</a></li>
                        <li><a data-href="feedback-list.html" data-title="意见反馈" href="javascript:void(0)">意见反馈</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-member">
                <dt><i class="Hui-iconfont">&#xe60d;</i> 会员管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="member-list.html" data-title="会员列表" href="javascript:;">会员列表</a></li>
                        <li><a data-href="member-del.html" data-title="删除的会员" href="javascript:;">删除的会员</a></li>
                        <li><a data-href="member-level.html" data-title="等级管理" href="javascript:;">等级管理</a></li>
                        <li><a data-href="member-scoreoperation.html" data-title="积分管理" href="javascript:;">积分管理</a></li>
                        <li><a data-href="member-record-browse.html" data-title="浏览记录" href="javascript:void(0)">浏览记录</a></li>
                        <li><a data-href="member-record-download.html" data-title="下载记录" href="javascript:void(0)">下载记录</a></li>
                        <li><a data-href="member-record-share.html" data-title="分享记录" href="javascript:void(0)">分享记录</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-admin">
                <dt><i class="Hui-iconfont">&#xe62d;</i> 管理员管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="admin-role.html" data-title="角色管理" href="javascript:void(0)">角色管理</a></li>
                        <li><a data-href="admin-permission.html" data-title="权限管理" href="javascript:void(0)">权限管理</a></li>
                        <li><a data-href="AdminList" data-title="管理员列表" href="javascript:void(0)">管理员列表</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-tongji">
                <dt><i class="Hui-iconfont">&#xe61a;</i> 系统统计<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="charts-1.html" data-title="折线图" href="javascript:void(0)">折线图</a></li>
                        <li><a data-href="charts-2.html" data-title="时间轴折线图" href="javascript:void(0)">时间轴折线图</a></li>
                        <li><a data-href="charts-3.html" data-title="区域图" href="javascript:void(0)">区域图</a></li>
                        <li><a data-href="charts-4.html" data-title="柱状图" href="javascript:void(0)">柱状图</a></li>
                        <li><a data-href="charts-5.html" data-title="饼状图" href="javascript:void(0)">饼状图</a></li>
                        <li><a data-href="charts-6.html" data-title="3D柱状图" href="javascript:void(0)">3D柱状图</a></li>
                        <li><a data-href="charts-7.html" data-title="3D饼状图" href="javascript:void(0)">3D饼状图</a></li>
                    </ul>
                </dd>
            </dl>
            <dl id="menu-system">
                <dt><i class="Hui-iconfont">&#xe62e;</i> 系统管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
                <dd>
                    <ul>
                        <li><a data-href="system-base.html" data-title="系统设置" href="javascript:void(0)">系统设置</a></li>
                        <li><a data-href="system-category.html" data-title="栏目管理" href="javascript:void(0)">栏目管理</a></li>
                        <li><a data-href="system-data.html" data-title="数据字典" href="javascript:void(0)">数据字典</a></li>
                        <li><a data-href="system-shielding.html" data-title="屏蔽词" href="javascript:void(0)">屏蔽词</a></li>
                        <li><a data-href="system-log.html" data-title="系统日志" href="javascript:void(0)">系统日志</a></li>
                    </ul>
                </dd>
            </dl>
        </div>
    </aside>
    <div class="dislpayArrow hidden-xs"><a class="pngfix" href="javascript:void(0);" onClick="displaynavbar(this)"></a></div>
    <section class="Hui-article-box">
        <div id="Hui-tabNav" class="Hui-tabNav hidden-xs">
            <div class="Hui-tabNav-wp">
                <ul id="min_title_list" class="acrossTab cl">
                    <li class="active">
                        @*<span title="我的桌面" data-href="Welcome">我的桌面</span>*@
                        <em></em>
                    </li>
                </ul>
            </div>
            <div class="Hui-tabNav-more btn-group"><a id="js-tabNav-prev" class="btn radius btn-default size-S" href="javascript:;"><i class="Hui-iconfont">&#xe6d4;</i></a><a id="js-tabNav-next" class="btn radius btn-default size-S" href="javascript:;"><i class="Hui-iconfont">&#xe6d7;</i></a></div>
        </div>
        <div id="iframe_box" class="Hui-article">
            <div class="show_iframe">
                <div style="display:none" class="loading"></div>
                <iframe scrolling="yes" frameborder="0" src="Welcome"></iframe>
            </div>
        </div>
    </section>

    <div class="contextMenu" id="Huiadminmenu">
        <ul>
            <li id="closethis">关闭当前 </li>
            <li id="closeall">关闭全部 </li>
        </ul>
    </div>
    <!--_footer 作为公共模版分离出去-->
    </body>
</html>

    <script type="text/javascript">
        $(function () {
            /*$("#min_title_list li").contextMenu('Huiadminmenu', {
                bindings: {
                    'closethis': function(t) {
                        console.log(t);
                        if(t.find("i")){
                            t.find("i").trigger("click");
                        }
                    },
                    'closeall': function(t) {
                        alert('Trigger was '+t.id+'\nAction was Email');
                    },
                }
            });*/
        });
        /*个人信息*/
        function myselfinfo() {
            layer.open({
                type: 1,
                area: ['300px', '200px'],
                fix: false, //不固定
                maxmin: true,
                shade: 0.4,
                title: '查看信息',
                content: '<div>管理员信息</div>'
            });
        }

        /*资讯-添加*/
        function article_add(title, url) {
            var index = layer.open({
                type: 2,
                title: title,
                content: url
            });
            layer.full(index);
        }
        /*图片-添加*/
        function picture_add(title, url) {
            var index = layer.open({
                type: 2,
                title: title,
                content: url
            });
            layer.full(index);
        }
        /*产品-添加*/
        function product_add(title, url) {
            var index = layer.open({
                type: 2,
                title: title,
                content: url
            });
            layer.full(index);
        }
        /*用户-添加*/
        function member_add(title, url, w, h) {
            layer_show(title, url, w, h);
        }
    </script>
</body>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ASP.NET MVC是一种基于ASP.NET的Web应用程序框架,它使用模型-视图-控制器(MVC)模式来构建Web应用程序。EF(Entity Framework)是一种ORM(对象关系映射)框架,它可以将数据库中的数据映射到.NET对象中。增删改查是指对数据库中的数据进行增加、删除、修改和查询操作。在ASP.NET MVC中,可以使用EF来进行数据库操作,实现增删改查功能。 ### 回答2: ASP.NET MVC 和 EF 是一对强力的开发工具,可以面向对象地开发 Web 应用程序。他们使用的是基于现代软件工程原则的模型-视图控制器模式,也就是MVC。这种模式不仅分离了应用程序的三个核心方面,即用户界面、数据业务逻辑和用户数据,而且还允许多个团队在不干涉彼此的情况下同时开发应用程序。 对于ASP.NET MVC来说,它是一种Web应用程序开发框架,适用于开发具有复杂功能和交互需要的动态Web应用程序。在ASP.NET MVC中,模型-视图-控制器(MVC)模式被广泛使用,以将Web应用程序拆分为三个核心部分:控制器,模型和视图。控制器作为请求接收者,负责处理请求并将响应发送回客户端;视图则负责呈现应用程序的用户界面;而模型则负责管理和检索应用程序的状态和数据。 对于EF来说,它是一种ORM对象关系映射工具,可自动将.NET对象映射为关系数据库中的表、视图和存储过程。使用EF,我们可以通过一个简单的API访问数据库,而不需要复杂的SQL语句。EF支持各种数据库,包括Microsoft SQL Server,Oracle,MySQL和SQLite等。 对于ASP.NET MVC和EF增删改查,我们可以通过以下步骤来实现: 1. 建立数据库连接 在使用EF进行增删改查之前,我们需要建立数据库连接。在ASP.NET MVC中,我们可以在Web.config文件中配置连接字符串,指定数据库的位置和访问凭据。 2. 创建模型 我们需要创建一个类来定义模型。该类应该包含与数据库表中的列对应的属性。这些属性名称和数据类型应该与数据库中的列对应,以便我们可以将数据从一个位置传递到另一个位置。 3. 创建数据库上下文 我们需要创建一个EF数据库上下文,该上下文负责管理数据库连接和数据操作。我们可以在该上下文中创建插入、更新、删除和查询方法。 4. 插入数据 我们可以通过在数据库上下文中创建一个新对象并将其添加到数据库上下文中来插入数据。保存更改后,这些更改将通过EF发送到数据库。 5. 更新数据 要更新数据,我们可以在数据库上下文中查询现有对象,并更改其属性。一旦更改完成,我们可以保存更改并将更改提交到数据库。 6. 删除数据 要删除数据,我们可以在数据库上下文中查询现有对象,并调用删除操作。一旦删除完成,我们可以保存更改并将更改提交到数据库。 7. 查询数据 要查询数据,我们可以使用数据库上下文来执行LINQ查询。LINQ查询可用于检索数据,并通过视图将数据呈现给用户。 综上所述,我们可以看出ASP.NET MVC和EF是一对非常强大的应用程序开发工具,可以帮助我们构建复杂的Web应用程序,并为我们提供了一种简单而直观的方法来管理数据库操作。在项目中应用它们,可以极大地提高我们的开发效率,提高生产力。 ### 回答3: ASP.NET MVC是一种基于模型-视图-控制器(Model-View-Controller, MVC)架构设计的Web应用程序框架。该框架使用MVC设计模式,将应用程序分为几个不同的组件,这些组件分别处理不同方面的应用程序逻辑。 Entity Framework(EF)是一种对象关系映射(Object-Relational Mapping, ORM)框架,用于将数据库中的表格数据映射到.NET对象中。它允许开发人员通过使用.NET语言(如C#和VB.NET)来编写应用程序,而不必直接处理SQL代码。 在ASP.NET MVC应用程序中使用EF可以简化数据访问层的开发过程,并为应用程序提供数据持久化解决方案。下面将介绍如何在ASP.NET MVC中完成增删改查方法: 增加数据: 应用程序需要将表格的数据添加到数据库,可以通过以下几个步骤来完成添加数据的方法: 1、在模型中定义一个实体,该实体将表示您要添加到表中的数据。 2、在控制器中创建一个方法,该方法接受一个参数,该参数是从HTTP POST请求中发送到服务器的实体。 3、在方法中创建一个新的实体,将数据从请求参数分配给该实体的属性。 4、将新实体添加到EF上下文并保存更改。 删除数据: 应用程序需要从一个表中删除数据,可以通过以下几个步骤来完成删除数据的方法: 1、在控制器中创建一个方法,该方法接受一个参数,该参数是表格中的数据的唯一标识符。 2、在方法中使用EF查找需要删除的实体,并从 EF上下文中删除实体。 3、将更改保存到数据库。 更新数据: 应用程序需要更新表格中的数据,可以通过以下几个步骤来完成更新数据的方法: 1、在模型中定义一个实体,该实体将表示您要更新表格中的数据。 2、在控制器中创建一个方法,该方法接受一个参数,该参数是从HTTP POST请求中发送到服务器的实体。 3、在方法中使用EF查找需要更新的实体。 4、将传入的实体的属性复制到EF中查找到的实体中。 5、将更改保存到数据库。 查询数据: 应用程序需要从一个表中检索数据,可以通过以下几个步骤来完成查询数据的方法: 1、在控制器中创建一个方法,该方法将返回从数据库检索到的实体。 2、在方法中使用EF执行一个查询,以从表中检索数据。 3、返回从DB检索到的实体。 综上所述,使用ASP.NET MVC和EF可以轻松地完成最常用的数据库操作,增加、删除、修改和查询数据。此外,这些操作的执行效率也很高,可以为开发者节省大量的时间和精力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值