• 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();将会多个路径共存。
    如果需要自定义配置路径,只需要将自定义的类中的路径从配置文件或者数据库中读取即可。
  • 相关阅读:
    laravel5.1框架简介及安装
    数据结构之队列定义及基本操作实现
    PHP之闭包详解
    数据结构之栈定义及基本操作实现
    PHP之MVC微型框架简单搭建
    对web应用中单一入口模式的理解及php实现
    php面向对象编程学习之高级特性
    数据结构之链表定义及基本操作实现
    数据结构之数组定义及基本操作
    感悟
  • 原文地址:https://www.cnblogs.com/answercard/p/2284420.html
Copyright © 2020-2023  润新知