您的位置:首页 > Web前端 > CSS

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

2015-09-21 16:36 621 查看
后台动态加载文件代码:

//假设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)
{

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: