![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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("default1", "{controller}/{action}/{skin}", new { controller = "engine", action = "index", skin = "default" });
routes.MapRoute("default", "{controller}/{action}", new { controller = "engine", action = "index", skin = "default" });
}
// (遍历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();
}