MVC网站后台分离

1、新建一个项目TestAdmin项目类型随便选一个,待会删掉,因为这里我只需要解决方案名称  【项目存放于F盘    F:\TestAdmin

2、新建一个 ZGJ.Web 的前台MVC项目,将开始的那个随便选的项目删掉  【ZGJ.Web地址  F:\TestAdmin\ZGJ.Web

3、新建一个ZGJAdmin 的后台MVC项目,放在 ZGJ.Web 里面 【ZGJAdmin地址 F:\TestAdmin\ZGJ.Web\ZGJAdmin

4、为了美观  将项目 ZGJAdmin  重命名为 ZGJ.Admin 并且在其属性中将程序集名称及默认命名空间名称一起改成 ZGJ.Admin

5、在 ZGJ.Web 下新建一个视图引擎  CustomerRazorViewEngine  继承自 RazorViewEngine

   public class CustomerRazorViewEngine : RazorViewEngine
    {
        public CustomerRazorViewEngine()
        {
            AreaViewLocationFormats = new[]
                                          {
                                              //default
                                              "~/ZGJAdmin/Views/{1}/{0}.cshtml",
                                              "~/ZGJAdmin/Views/Shared/{0}.cshtml"
                                          };
            AreaMasterLocationFormats = new[]
                                            {
                                                //default
                                                "~/ZGJAdmin/Views/{1}/{0}.cshtml",
                                                "~/ZGJAdmin/Views/Shared/{0}.cshtml"
                                            };
            ViewLocationFormats = new[]
                                      {
                                            //default
                                            "~/Views/{1}/{0}.cshtml",
                                            "~/Views/Shared/{0}.cshtml"
                                      };
            MasterLocationFormats = new[]
                                        {
                                            //default
                                            "~/Views/{1}/{0}.cshtml",
                                            "~/Views/Shared/{0}.cshtml"
                                        };
            AreaPartialViewLocationFormats = AreaViewLocationFormats;
            PartialViewLocationFormats = ViewLocationFormats;
        }
    }

6、在 ZGJ.Web 的 Global.asax 中使网站启动时加载视图引擎

    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new CustomerRazorViewEngine());
        }
    }

7、修改  ZGJ.Web  中的 RouteConfig  给默认路由加上命名空间

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                namespaces: new[] { "ZGJ.Web.Controllers" }
            );
        }

8、注册区域 在 ZGJ.Admin 中添加类 AdminAreaRegistration  继承自 AreaRegistration

    public class AdminAreaRegistration : AreaRegistration
    {
        public override string AreaName
        {
            get
            {
                return "Admin";
            }
        }
        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "Admin_default",
                "Admin/{controller}/{action}/{id}",
                new { controller = "Home", action = "Index", area = "Admin", id = "" },
                new[] { "ZGJ.Admin.Controllers" }
            );
        }
    }

9、在 ZGJ.Admin 的 View 目录下 添加 _ViewStart.cshtml 布局文件

@{
    Layout = "~/ZGJAdmin/Views/Shared/_Layout.cshtml";
}

10、在 ZGJ.Admin 的 View 目录下添加 Shared 目录 并添加_Layout.cshtml 布局文件

11、在 ZGJ.Admin 的属性中修改项目的输出目录

时间: 2024-11-05 11:58:21

MVC网站后台分离的相关文章

asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发1-准备工作

/****** Object: 新闻表 Script Date: 2017/9/2 星期六 15:11:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SITE_ARTICLE]( [ID] [nvarchar](36) NOT NULL,--ID [TITLE] [nvarchar](100) NULL,--新闻标题 [COLID] [nvarchar](36) NULL,--所属栏

asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发2-Model层建立

上篇(asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发1-准备工作)文章讲解了开发过程中的准备工作,主要创建了项目数据库及项目,本文主要讲解项目M层的实现,M层这里讲的主要是通过Codefirst方式实现的. 一.M层简单介绍 1.M层很形象的将数据库里面的各个表格映射成了C#当中的类,比如上篇文章创建的用户表: ? 1 2 3 4 5 6 7 8 9 10 11 12 CREATE TABLE [dbo].[SYS_USER](          [ID]

asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发4- 后台模板html页面创建

上一篇教程<asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发3-登录模块开发>完成了本项目的登录模块,登录后就需要进入后台管理首页了,需要准备一个后台模板,本文主要讲解如何创建这个后台模板,本文创建的后台模板不集成到项目内部,只是静态html页面.后台模板是系统开发必须的,一般小公司有个3套后台模板就够用了.本项目后台模板主要是jquery easyui插件创建的,不需要美工设计就可以创建出来,而且效果还可以,具体效果图如下: 这个版面的缺点是,只能适应2层

asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发3-登录模块开发

进行本文之前需要在数据库用户表里面增加一条用户数据,直接手动添加即可,未安全考虑密码一定要使用Md5加密后的,这里提供666666的Md5密文为(c831b04de153469d),本文完成登录模块的开发工作,登录页面设计将采用Div+Css简单进行设计,最终效果图如下: Mvc一个页面模块至少要实现C层的逻辑代码跟,V层的页面代码,在浏览器访问地址时执行C层代码,在呈现页面,具体创建流程如下: 一.登录C层(Controllers)创建 1.创建Login控制器类 在解决方案管理器Contro

ASP.NET MVC 网站开发总结(三) ——图片截图上传

本着简洁直接,我们就直奔主题吧,这里需要使用到一个网页在线截图插件imgareaselect(请自行下载). 前台页面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/imgareaselect-default.css" /> </head> <

夺命雷公狗---DEDECMS----24dedecms让网站头部分离

我们这里来做一个让网站头部分离的工作,我们先看下index.htm的模版, 这里很明显就是用了一个div包围着而已,那么我们在模版目录下创建一个head.htm,如下所示: 然后我们再将刚才div里面包含的div给弄出来放到head.htm里面,如下所示: 然后在首页模版里用dede自带的模版引入标签{dede:include filename="模版名"}来引入,如下所示: 然后我们用这个方法对栏目页和内容页如法炮制即可: 然后我们在后台里整站更新下看看... 然后我们看下前台是否有

《微软Azure云计算开发实战(2):Azure部署ASP.NET MVC 网站

今天我们继续学习Azure的实战开发,<微软Azure云计算开发实战(2):Azure部署ASP.NET MVC 网站. 在你注册完Azure的使用账户以后,下面就可以登陆Azure管理界面了.因为我们后续的开发工作都要用到Azure的资源. Azure作为公有云平台,提供了几乎所有的平台支持,操作系统包括Linux Mac OS Windows,数据库主流的都支持,网站空间,数据库,虚拟主机操作系统 几乎都有.还有流媒体服务,Hadoop集成,Bigtable等. 我们先来学习一下如何部署一个

简易留言簿系统-ASP.NET MVC (后台基本完成)

今天在工作的空余,完成了简易留言簿系统的基本功能.在这里总结全面总结一下. 简易留言薄系统: 开发工具:vs2013 在数据库方面,我选择了SQL 2012. 在代码开发阶段,我没有用code first的自动生成的数据库,而是指定了SQL服务器与数据库的信息. 通过这个系统学习到的东西. 1. 实现了在同一页面中显示数据与录入数据.刚开始的时候,由于对于MVC学习的东西很死板,所以一直没有想到应该如何实现,但是后来通过在网上的咨询,以及自己的理解,发现很简单,那就是 使用 BeginForm(

网站后台架构理解( 二)

前面有点讲到对网站后台架构的初步理解,后来又去看了书,加深了了解. 架构就是最高层次的规划,难以改变的决定. 为了实现网站的高性能,高可用性,可伸缩性,可扩展性,网站安全等核心目标.从而形成的网站架构模式主要有:分层,分割,分布式,集群,缓存,异步,冗余,安全等 简单说说对他们的理解, 可能概念性的会比较多.因为只有理解了概念才能进行实例分析.实例分析将在下一节. 1.分层: 将系统在横向维度上切成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的调用组成一个完整的系统.简单的