zoukankan      html  css  js  c++  java
  • MVC3.0自定义视图引擎(切换皮肤)

    在项目中可能根据不同的用户,不同的区域加载不同的界面风格,琢磨了一下终于搞定了。代码如下:

    public static void OnloadTemplate(string tempName)
            {
                RazorViewEngine engine = ViewEngines.Engines.Where(e => e is RazorViewEngine).Single() as RazorViewEngine;
                engine.ViewLocationFormats = engine.PartialViewLocationFormats = engine.MasterLocationFormats = new string[] {
                    "~/Views/" + tempName + "/{1}/{0}.cshtml",
                    "~/Views/" + tempName + "/{1}/{0}.vbhtml",
                    "~/Views/" + tempName + "/{1}/Shared/{0}.cshtml",
                    "~/Views/" + tempName + "/{1}/Shared/{0}.vbhtml",
                    "~/Views/" + tempName + "/Shared/{0}.cshtml",
                    "~/Views/" + tempName + "/Shared/{0}.vbhtml",
                    "~/Views/{1}/{0}.cshtml",
                    "~/Views/{1}/{0}.vbhtml",
                    "~/Views/Shared/{0}.cshtml",
                    "~/Views/Shared/{0}.vbhtml"
                };
            }

    然后在Global.asax中调用此方法

    protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();

                RegisterGlobalFilters(GlobalFilters.Filters);
                RegisterRoutes(RouteTable.Routes);
                OnloadTemplate("Templet.en.us");//可以在web.config文件中配置
            }

    目录结构如下:

  • 相关阅读:
    Java实现 LeetCode 402 移掉K位数字
    Java实现 LeetCode 402 移掉K位数字
    Java实现 LeetCode 401 二进制手表
    Java实现 LeetCode 401 二进制手表
    wpa_supplicant使用笔记-wpa_cli iwconfig
    Linux下的定时器:alarm()与setitimer()
    在 Windows 下远程桌面连接 Linux
    assert()函数用法总结
    linux下svn修改用户名和密码
    VirtualBox
  • 原文地址:https://www.cnblogs.com/yuhanzhong/p/2975558.html
Copyright © 2011-2022 走看看