.net动态加载CSS样式表方法

方法一:利用Page类写入

<head>
<title>WebForm1</title>
<link  rel="stylesheet" type="text/css" href="" id="mycss">
</head>


protected void Page_Load(object sender, EventArgs e)
{
   Page.RegisterStartupScript("css",@"<script>mycss.styleSheet.addImport('stylesheet1.css')</script>");
}

方法二:利用占位符 asp:placeholder

<head>
<title>WebForm1</title>
<asp:placeholder id="myplaceholder" runat="server"></asp:placeholder>
</head>

protected void Page_Load(object sender, EventArgs e)
{
     System.Web.UI.Control a = Page.FindControl("myplaceholder");
     System.Web.UI.HtmlControls.HtmlGenericControl objLink = new HtmlGenericControl("LINK");
     objLink.Attributes.Add("rel","stylesheet");
     objLink.Attributes.Add("type","text/css");
     objLink.Attributes.Add("href","StyleSheet1.css");
     objLink=objLink;
     a.Controls.Add(objLink);

}

[注] asp:placeholder 这是控件是主要是起"占位符的做用"


方法三:转换为服务器控件

<head>
<title>WebForm1</title>
<link runat ="server" id="MyLink" href="StyleSheet1.css" rel="stylesheet" type="text/css" />
</head>

protected void Page_Load(object sender, EventArgs e)
{
    //动态更改css
    MyLink.Href = "";//css链接
}


方法四:利用asp:Literal

<head>
<title>WebForm1</title>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</head>

protected void Page_Load(object sender, EventArgs e)
{
     //动态更改css
     Literal1.Text = "<link href='StyleSheet1.css' rel='stylesheet' type='text/css' />";
}

[住] asp:Literal可以将原句不变的输出

方法五:直接操作head内容

<head>
<title>WebForm1</title>
<link  rel="stylesheet" type="text/css" href="" id="mycss">
</head>

protected void Page_Load(object sender, EventArgs e)

{

            System.Web.UI.HtmlControls.HtmlGenericControl child = new System.Web.UI.HtmlControls.HtmlGenericControl("link");
            child.Attributes.Add("href", cssFilePath);
            child.Attributes.Add("rel", "stylesheet");
            child.Attributes.Add("type", "text/css");
            Page handler = (Page)HttpContext.Current.Handler;
            handler.Header.Controls.Clear();//清理
            handler.Header.Controls.Add(child);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值