在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1. RazorViewEngine 的构造函数
public RazorViewEngine(IViewPageActivator viewPageActivator) : base(viewPageActivator) { base.AreaViewLocationFormats = new string[] { "~/Areas/{2}/Views/{1}/{0}.cshtml", "~/Areas/{2}/Views/{1}/{0}.vbhtml", "~/Areas/{2}/Views/Shared/{0}.cshtml", "~/Areas/{2}/Views/Shared/{0}.vbhtml" }; base.AreaMasterLocationFormats = new string[] { "~/Areas/{2}/Views/{1}/{0}.cshtml", "~/Areas/{2}/Views/{1}/{0}.vbhtml", "~/Areas/{2}/Views/Shared/{0}.cshtml", "~/Areas/{2}/Views/Shared/{0}.vbhtml" }; base.AreaPartialViewLocationFormats = new string[] { "~/Areas/{2}/Views/{1}/{0}.cshtml", "~/Areas/{2}/Views/{1}/{0}.vbhtml", "~/Areas/{2}/Views/Shared/{0}.cshtml", "~/Areas/{2}/Views/Shared/{0}.vbhtml" }; base.ViewLocationFormats = new string[] { "~/Views/{1}/{0}.cshtml", "~/Views/{1}/{0}.vbhtml", "~/Views/Shared/{0}.cshtml", "~/Views/Shared/{0}.vbhtml" }; base.MasterLocationFormats = new string[] { "~/Views/{1}/{0}.cshtml", "~/Views/{1}/{0}.vbhtml", "~/Views/Shared/{0}.cshtml", "~/Views/Shared/{0}.vbhtml" }; base.PartialViewLocationFormats = new string[] { "~/Views/{1}/{0}.cshtml", "~/Views/{1}/{0}.vbhtml", "~/Views/Shared/{0}.cshtml", "~/Views/Shared/{0}.vbhtml" }; base.FileExtensions = new string[] { "cshtml", "vbhtml" }; }
2. 继承RazorViewEngine修改类定义
public class TestViewEngine : RazorViewEngine { public TestViewEngine() { MasterLocationFormats = new[] { "~/TestViews/{1}/{0}.master", "~/TestViews/Shared/{0}.master" }; ViewLocationFormats = new[] { "~/TestViews/{1}/{0}.cshtml", "~/TestViews/{1}/{0}.cshtml", "~/TestViews/Shared/{0}.cshtml", "~/TestViews/Shared/{0}.cshtml" }; PartialViewLocationFormats = ViewLocationFormats; MasterLocationFormats = MasterLocationFormats; } }
3. 在需要修改View路径的方法内调用如下代码: ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new WebFormViewEngine()); 如果没有调用ViewEngines.Engines.Clear();将会多个路径共存。 如果需要自定义配置路径,只需要将自定义的类中的路径从配置文件或者数据库中读取即可。 |
请发表评论