.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)
        {

        }
    }
}
时间: 2025-01-06 15:43:41

.NET Web后台动态加载Css、JS 文件,换肤方案的相关文章

JavaScript_动态加载CSS和JS文件

项目中需要用到动态加载CSS 文件,整理了一下,顺便融合了动态加载JS 的功能写成了一个对象,先上代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 var dynamicLoading = {   css: function(path){  if(!path || path.length === 0){   throw new Error('argument "path" is required !');

js动态加载css和js

js动态加载css和js用处挺多,特意提出来 var loadUtil = { /* * 方法说明:[动态加载js文件css文件] * 使用方法:loadUtil.loadjscssfile("http://libs.baidu.com/jquery/1.9.1/jquery.js","js") * @param fileurl 文件路径, * @param filetype 文件类型,支持传入类型,js.css */ loadjscssfile:function(

JavaScript动态加载CSS和JS文件

var dynamicLoading = { css: function(path){ if(!path || path.length === 0){ throw new Error('argument "path" is required !'); } var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.href = path; lin

web页面动态加载UserControl,并调用用户控件中的方法来初始化控件

1,HTML页 头部注册: <%@ Register Src="~/WorkLog/WorkLogNewV1/UserControl/CeShiBu.ascx" TagPrefix="UserControl" TagName="CeShiBu"%> <%@ Register Src="~/WorkLog/WorkLogNewV1/UserControl/KaiFaBu.ascx" TagPrefix=&quo

[AngularJS] 使用AngularCSS动态加载CSS

[AngularJS] 使用AngularCSS动态加载CSS 前言 使用AngularAMD动态加载Controller 使用AngularAMD动态加载Service 上列两篇文章里,介绍了如何如何使用AngularAMD来动态加载Controller与Service.本篇文章以此为基础,介绍如何使用AngularCSS来动态加载CSS,让项目功能更加模块化,增加开发与维护的工作效率.主要为自己留个纪录,也希望能帮助到有需要的开发人员. AngularCSS 安装 本篇文章以「使用Angul

asp.net MVC发布iis无法加载css,js和图片

今天真够郁闷的,遇到了在本地能运行的项目到了iis服务器那里就不行了,无法加载css,js和图片,这里说清楚一下先,关于asp.net 的MVC中这样的情况其实不少,但是之前遇到的是在visual studio运行的时候就已经不能加载css和js文件,那种情况一般都是路径的问题,改下页面代码就行,网上教程不少,而这个其实是一个CMS的开源系统.Orchard,国庆实在无聊,就想玩下这个asp.net MVC框架的CMS,而且是微软推荐的开源CMS,提到了就来说说这个吧,和国内的其他CMS对比起来

使用js加载器动态加载外部Javascript文件

今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js 1 var MiniSite=new Object(); 2 /** 3 * 判断浏览器 4 */ 5 MiniSite.Browser={ 6 ie:/msie/.test(window.navigator.userAgent.toLowerCase()), 7 moz:/gecko/.test(window.navigator.userAgent.toLowerCase()), 8 opera:/o

Struts2的国际化(二)-利用超链接实现动态加载国际化资源文件

原理:程序是根据Locale来确定国际化资源文件,因此关键之处在于知道 Struts2 框架是如何确定 Local 对象的 ! 由于Struts2 使用 i18n 拦截器处理国际化,并且将其注册在默认的拦截器中,因此,可以通过阅读 I18N 拦截器知道. 具体确定 Locale 对象的过程: > Struts2 使用 i18n 拦截器 处理国际化,并且将其注册在默认的拦截器栈中 > i18n拦截器在执行Action方法前,自动查找请求中一个名为 request_locale 的参数. 如果该参

Vue 加载外部js文件

Vue.js  加载外部js文件 在项目内新建一个config.js //变量的定义 export var config = { baseurl:'http://172.16.114.5:8088/MGT2' } //函数的定义 export function formatXml(text) { return text } 使用外部的js <script> import {config,formatXml} from '../static/config.js' export default {