Asp.Net下通过切换CSS换皮肤
发布日期:2021-06-30 19:20:08
浏览次数:3
分类:技术文章
本文共 906 字,大约阅读时间需要 3 分钟。
换皮肤的方式有很多种,最简单的通常就是切换页面CSS,而CSS通常写在外部CSS文件里。那么切换css其实就是更换html里的link href路径。我在网上搜索了下。一般有两种方式:
1,在页面放一个holder控件。然后用编程方式把当前用户的风格css link写入页面。
2,通过反射机制,逐个控件设置css样式。上面两种方式都挺麻烦的,第一种需要在每个页面上放一个holder控件。类似的做法还有把link标签加runat=server的做法。页面多了,都比较麻烦。第二种不用考虑了。性能编程效率上问题多多。记得以前在学习DNN的时候,在他里面发现了一种修改form里默认的action地址的方式,直接参考下。还不错:
直接重写Render事件 protected override void Render(System.Web.UI.HtmlTextWriter writer) { StringWriter sw = new StringWriter() ; HtmlTextWriter htmlWriter = new HtmlTextWriter(sw) ;base.Render(htmlWriter) ;
//当前用户选择的风格css string css = "<link href=/"css url/" rel=/"stylesheet/" type=/"text/css/">" ;string html = sw.ToString() ;
int startPoint = html.IndexOf("</head>", StringComparison.CurrentCultureIgnoreCase); if (startPoint > 0) { html = html.Insert(startPoint, css); }writer.Write(html) ;
}把这个放在每个页面的基类PageBase里。那就方便多了。当然,如果不想在让每个page都继承自定义的基类的方式,那也可以通过在HttpModule里写。也很方便.一处写好,页页受用呀。转载地址:https://linuxstyle.blog.csdn.net/article/details/3858024 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月29日 23时21分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【深度学习笔记】用torch.nn.ModuleList搭建神经网络
2019-04-30
【深度学习笔记】pytorch的点乘(dot product)
2019-04-30
【深度学习笔记】残差
2019-04-30
【python学习笔记】读取指定文件夹中的图片,结合边缘保留滤波EPF
2019-04-30
【工具和环境】Linux下安装pycharm
2019-04-30
【Accumulation】The definition of SISR
2019-04-30
【工具与环境】Windows下安装Sublime Text 3
2019-04-30
【工具与环境】Excel中批量插入行
2019-04-30
【个人实验注意事项】
2019-04-30
【学习笔记】对vanilla的一些个人理解
2019-04-30