ASP.NET MVC 换肤方案(ZT)

本文是转自CNBLOGS的http://www.cnblogs.com/surfsky/archive/2010/10/12/1848701.html,因为自己马上要用到了,特地转来,主要是为了保存相应的代码部分,怕哪天原博主清理空间,就找不到相应可以参考学习的地方了.

 

这个换肤是指动态切换视图文件夹,不是指换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();
}
}

 

 

 代码下载:http://files.cnblogs.com/snowsky/MvcSkinDemo.rar

转载于:https://www.cnblogs.com/snowsky/archive/2010/12/09/asp-net-mvc-skins.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值