• ASP.NET MVC 换肤方案


    这个换肤是指动态切换视图文件夹,不是指换css和image,你懂的....

    使用起来也很简单,核心就这么几句:

        public class Global : System.Web.HttpApplication
        {
            
    protected void Application_Start(object sender, EventArgs e)
            {
                InitRouting(RouteTable.Routes);

                
    // 使用自定义的皮肤视图引擎 SkinViewEngine
                
    // 对应的视图文件夹为:/Skins/皮肤名称/控制器名称/
                
    // 设置皮肤:HttpContext.SetSkinName(skin);
                
    // 获取皮肤:string skinName = HttpContext.GetSkinName();
                ViewEngines.Engines.Clear();
                ViewEngines.Engines.Add(
    new SkinViewEngine(GetSkins()));
            }

            
    private static void InitRouting(RouteCollection routes)
            {
                routes.MapRoute(
    "default""{controller}/{action}"new {controller="engine", action="index"});
            }

            
    // (遍历Skins目录)获取网站能提供的所有皮肤方案
            public static string[] GetSkins()
            {
                List
    <string> skins = new List<string>();
                
    string skinFolder = HttpContext.Current.Server.MapPath("~/Skins/");
                
    foreach (string folder in Directory.GetDirectories(skinFolder))
                    skins.Add(
    new DirectoryInfo(folder).Name);
                
    return skins.ToArray();
            }
        }

    代码下载:/Files/surfsky/MvcSkinDemo.rar

  • 相关阅读:
    docker备忘录
    GUAVA-RateLimit
    JDK各版本发展史
    C++ 基础备忘录
    浅谈MES
    MES在流程和离散制造企业的15个差别!
    mysql连接oracle补偿方案—odbc驱动
    WinForm控件Chart的图表类型
    C#的异常处理机制(try...catch...finally)
    oracle 横向列变为纵向列
  • 原文地址:https://www.cnblogs.com/surfsky/p/1848701.html
Copyright © 2020-2023  润新知