首页 > 解决方案 > Asp.net 自定义剃须刀视图引擎指定 cshtml 文件位置

问题描述

解决方案截图我有几个带有 MVC 视图的项目,“TestProject”是网站内容目录,当我调试时,如果我每次更改 cshtml 文件,我都需要构建“地址”项目。我尝试覆盖 RazorViewEngine,但它使用虚拟路径,我不能使用绝对路径或像“../../”这样的相对路径来放置视图/文件的位置不在项目目录中。有没有一种方法可以在不构建的情况下更改 cshtml 文件?

 public class DebugRazor: RazorViewEngine
    {
        public DebugRazor(string relativePath)
        {
            base.ViewLocationFormats = new[] 
            {
                "../" + relativePath + "/Views/{1}/{0}.cshtml",
                "../" + relativePath + "/Views/{1}/{0}.vbhtml",
                "../" + relativePath + "/Views/Shared/{0}.cshtml",
                "../" + relativePath + "/Views/Shared/{0}.vbhtml"
            };
        }
   }

RazorViewEngine 是从 VirtualPathProviderViewEngine 实现的,这里是同样的问题:How to use relative virtual path in custom razor view engine

标签: c#asp.net-mvcrazorviewengine

解决方案


推荐阅读