.NET Web后台动态加载Css、JS 文件,换肤方案
后台动态加载文件代码:
//假设css文件:TestCss.css #region 动态加载css文件
public void AddCss()
{
HtmlGenericControl _CssFile = new HtmlGenericControl("link");
_CssFile.ID = "CssFile";
_CssFile.Attributes["rel"] = "stylesheet";
_CssFile.Attributes["type"] = "text/css";
_CssFile.Attributes["href"] = "/Styles/TestCss.css";
if (this.FindControl(_CssFile.ID) == null)
{
this.Page.Header.Controls.Add(_CssFile);
}
} #endregion 动态加载css文件
换肤方案
1) 写个类(Page_Parent.cs) 动态加载样式文件
2) 所有页面继承Page_Parent.cs类
Page_Parent.cs类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.HtmlControls; namespace Test
{
public class Page_Parent: System.Web.UI.Page
{ public Page_Parent()
{
this.Load += Page_Parent_Load;
this.Error += Page_Parent_Error;
}
/// <summary>
/// 捕捉未处理的页面错误
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Page_Parent_Error(object sender, EventArgs e)
{
throw new NotImplementedException();
} private void Page_Parent_Load(object sender, EventArgs e)
{
AddCss();
} //假设css文件:TestCss.css #region 动态加载css文件
public void AddCss()
{
HtmlGenericControl _CssFile = new HtmlGenericControl("link");
_CssFile.ID = "CssFile";
_CssFile.Attributes["rel"] = "stylesheet";
_CssFile.Attributes["type"] = "text/css";
_CssFile.Attributes["href"] = "/Styles/TestCss.css";
if (this.FindControl(_CssFile.ID) == null)
{
this.Page.Header.Controls.Add(_CssFile);
}
} #endregion 动态加载css文件
}
}
测试页面Web_Test.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Web_Test.aspx.cs" Inherits="Web.Web_Test" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<p>1232131</p>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace Web
{
public partial class Web_Test : Page_Parent
{
protected void Page_Load(object sender, EventArgs e)
{ }
}
}
.NET Web后台动态加载Css、JS 文件,换肤方案的更多相关文章
- 文字添加响应事件,js动态加载CSS, js弹出DIV
文字添加响应事件,js动态加载CSS, js弹出DIV <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...
- 动态加载css,js
function dynamicLoadCss(url) { var head = document.getElementsByTagName('head')[0]; var link = docum ...
- js实用方法记录-js动态加载css、js脚本文件
js实用方法记录-动态加载css/js 附送一个加载iframe,h5打开app代码 1. 动态加载js文件到head标签并执行回调 方法调用:dynamicLoadJs('http://www.yi ...
- 动态加载CSS,JS文件
var Head = document.getElementsByTagName('head')[0],style = document.createElement('style'); //文件全部加 ...
- 用JavaScript动态加载CSS和JS文件
本文转载自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/11/14/2248451.html 今天项目中需要用到动态加载 CSS 文件 ...
- JavaScript动态加载CSS和JS文件
var dynamicLoading = { css: function(path){ if(!path || path.length === 0){ throw new Error('argumen ...
- 使用js加载器动态加载外部js、css文件
let MiniSite = new Object(); /** * 判断浏览器 */ MiniSite.Browser = { ie: /msie/.test(window.navigator.us ...
- [AngularJS] 使用AngularCSS动态加载CSS
[AngularJS] 使用AngularCSS动态加载CSS 前言 使用AngularAMD动态加载Controller 使用AngularAMD动态加载Service 上列两篇文章里,介绍了如何如 ...
- 动态加载css方法实现和深入解析
一.方法引用来源和应用 此动态加载css方法 loadCss,剥离自Sea.js,并做了进一步的优化(优化代码后续会进行分析). 因为公司项目需要用到懒加载来提高网站加载速度,所以将非首屏渲染必需 ...
随机推荐
- ActionScript 3 中的强制类型转换
以前AS中是这样进行强制类型转换的:假设有一个类叫做Class1,我们声明了一个它的对象 c1,如果想要将它转换成Class2类型,只要这样写: Class2(c1); 在AS3中你依然可以这样写,但 ...
- inux2.6.xx内核代码分析( 72节)
http://blog.csdn.net/ustc_dylan/article/category/469214
- 哈夫曼(Huffman)编码
哈夫曼编码(Huffman Coding)是一种非常经典的编码方式,属于可变字长编码(VLC)的一种,通过构造带权路径长度最小的最优二叉树以达到数据压缩的目的.哈弗曼编码实现起来也非常简单,在实际的笔 ...
- 实例源码--Android理财工具源码
下载源码 技术要点: 1.Sqlite数据库的综合使用 2.控件的综合使用 3. 源码带详细的中文注释 ...... 详细介绍: 1. Sqlite数据库的综合使用 本套源码采用了Sqlite ...
- Linux下php安装phpredis
说明:php安装目录:/usr/local/php5php.ini配置文件路径:/usr/local/php5/etc/php.iniNginx安装目录:/usr/local/nginxNginx网站 ...
- QUI操作超时弹出登录窗口登录的处理方式
在使用QUI开发的业务系统中,如果长时间没操作,session过期后,再次操作系统超时会自动跳转到登陆页面,如果当前有一些操作没有保存,需要重新登录后再次填写信息,用户体验很不好! 为了避免超时后页面 ...
- hdu 4685 简单匹配+Tarjan算法
思路:首先看到这题以为能用poj1904的模版直接A掉,WA了几次,然后又TLE了几次.还是想到了正解. 一开始我想的大致方向已经是对的了.先是由王子向每个喜欢的公主建边,再求一次最大匹配,找出匹配后 ...
- hdu 4008 树形dp
思路:我们定义一个dfn[i],Maxndfn[i]来确定节点i的访问次序,以及其子节点的最大访问次序.那么另一个节点是其子树的节点当且仅当dfn[j]>=dfn[i]&&dfn ...
- hdu 4630 树状数组
思路:这题的处理方式和hdu4358有点像.我们用一个pre[x]表示约数x的倍数上次出现的位置,将查询按区间的右节点升序排序.num[i]的约数为j,如果pre[j]为0,就将pre[j]置为i;否 ...
- .NE 学习概要
也是个人的学习计划,仅供参考:)