说明:
ZRT.Web 是前台网站,目录【D:\ZRT.Web\】
ZRT.Admin 是后台管理,目录【D:\ZRT.Web\Applications\Admin\】,删除文件【Global.asax】
1. 继承 RazorViewEngine,重写路径模板
namespace ZRT.Web.Framework
{
public class CustomerRazorViewEngine : RazorViewEngine
{
public CustomerRazorViewEngine()
{
AreaViewLocationFormats = new[]
{
//default
"~/Applications/{2}/Views/{1}/{0}.cshtml",
"~/Applications/{2}/Views/Shared/{0}.cshtml"
};
AreaMasterLocationFormats = new[]
{
//default
"~/Applications/{2}/Views/{1}/{0}.cshtml",
"~/Applications/{2}/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;
}
}
}
2. 在ZRT.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);
BundleConfig.RegisterBundles(BundleTable.Bundles);
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new CustomerRazorViewEngine());
}
}
3. 修改默认网站的路由,添加命名空间
public class 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[] { "ZRT.Web.Controllers" }
);
}
}
4. 注册区域,在ZRT.Admin项目里添加一个类,AdminAreaRegistration 继承 AreaRegistration
namespace ZRT.Admin
{
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[] { "ZRT.Admin.Controllers" }
);
}
}
}
5. 修改 ZRT.Admin项目 Views目录下 _ViewStart.cshtml 文件里的布局路径
@{
Layout = "~/Applications/Admin/Views/Shared/_Layout.cshtml";
}
6. 修改 ZRT.Admin项目的输出路径
aaarticlea/png;base64,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" alt="" />
附DEMO源码
http://www.cnblogs.com/sealzrt/p/3628357.html
- asp.net mvc 实战化项目之三板斧
laravel实战化项目之三板斧 spring mvc 实战化项目之三板斧 asp.net mvc 实战化项目之三板斧 接上文希望从一张表(tb_role_info 用户角色表)的CRUD展开asp. ...
- Asp.net MVC 4新项目中创建area的后续操作
Asp.net MVC 4新项目中创建area后,往往HomeController与area的HomeController路由发生混淆,需要手工设置一些地方避免mvc无法识别默认路由的状况. 无废话具 ...
- asp.net Mvc 模型绑定项目过多会导致页面运行时间卡
asp.net Mvc 模型绑定项目过多会导致页面运行时间卡的问题. 解决方式就是采用ModelView方式进行精简,已减少模型绑定及验证的时间.
- Asp.net mvc 各个组件的分离
1. 系统常见的分层 在开发asp.net mvc应用的时候,visual studio 给我们创建了默认的文档结构,一般情况下我们在一个项目下工作,参考微软的官方例子:ContosoUniversi ...
- VS2017中建立ASP.NET MVC 4.0项目
新的项目需要运行在WIN2003上,又不想用ASPX了,只好用回ASP.NET MVC4.0了,可是在VS2017中已经没有MVC4的模板了,网上下载的安装了也没有,只好把以前的MVC4的项目拿 出来 ...
- ASP.NET MVC - 启动创建项目,未能加载错误
VS2012以常规方式创建一ASP.NET MVC internet 项目.创建后F5启动项目,遇一错误: 未能加载文件或程序集“MySql.Web.v20, Version=6.9.4.0, Cul ...
- Asp.Net.Mvc+MEF+EF 项目 ,源码在GitHub ..希望对大家有所帮助
自己开源的 一个 Asp.Net + MEF+ EF 的 项目 . 供大家学习和使用, 点击进入GitHub
- ASP.NET MVC Jquery Validate 表单验证的多种方式
在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...
- [转]ASP.NET MVC Jquery Validate 表单验证的多种方式介绍
在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...
随机推荐
- (转)python的paramiko模块
python的paramiko模块 原文:http://www.cnblogs.com/breezey/p/6663546.html paramiko是用python语言写的一个模块,遵循S ...
- Postman—命令执行脚本及生成报告
前言 前面的应用中,都是在postman图形界面工具里面进行测试,但是有时候我们需要把测试脚本集成到CI平台,或者在非图形界面的系统环境下进行测试,那么我们该如果处理呢 通过newman来执行post ...
- Mina的客户端
(一) package client; import java.net.InetSocketAddress; import java.nio.charset.Charset; import org.a ...
- Mac在终端用命令装载dmg文件
今天碰到个问题,下载了一个dmg文件,然后双击/右键安装,一点反应都没有.一开始以为是电脑的缘故,重启,依旧没有反应,然后想到用终端装载试试. 打开终端,输入命令: hdiutil attach we ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- android即时通信开源项目信息
源码提供!Android即时通讯和sns开源项目汇总 http://www.jianshu.com/p/b2ca52337fe5
- java学习--Reflection反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制. ...
- 机器学习--降维算法:PCA主成分分析
引言 当面对的数据被抽象为一组向量,那么有必要研究一些向量的数学性质.而这些数学性质将成为PCA的理论基础. 理论描述 向量运算即:内积.首先,定义两个维数相同的向量的内积为: (a1,a2,⋯,an ...
- 自学C Primer Plus时还没想明白的问题
2016年11月24日 1. 计算机中两个浮点数怎样进行加法运算.2. 为什么计算机在计算时存在损失精度的可能3. 无符号数和有符号数的运算是怎样的4. printf中使用格式控制符的截断问题,比如% ...
- hadoop学习笔记(八):MapReduce
一.MapReduce编程模型 一种分布式计算框架,解决海量数据的计算问题. MapReduce将整个并行计算过程抽象到两个函数: Map(映射):对一些独立元素组成的列表的每一个元素进行制定的操作, ...