zoukankan      html  css  js  c++  java
  • Asp.net MVC 3中修改views 目录{转,增}

    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();将会多个路径共存。
    如果需要自定义配置路径,只需要将自定义的类中的路径从配置文件或者数据库中读取即可。
  • 相关阅读:
    let 和 const 命令
    字符串和数组之间相互转换
    angularjs 添加拦截器
    js判断数组是否包含指定元素的方法
    angularjs ng-include
    requirejs学习 关于requirejs的一些参数问题
    ngDialog 点击窗口以外不允许关闭弹窗
    jQuery Jcrop 图像裁剪
    Javascript模块化编程(三):require.js的用法
    angular.bootstrap手动加载angularjs模块
  • 原文地址:https://www.cnblogs.com/answercard/p/2284420.html
Copyright © 2011-2022 走看看