ASP.NET中动态加载样式表

第一种方法:

        HtmlLink myHtmlLink = new HtmlLink();
        myHtmlLink.Href = "http://www.cnblogs.com/theme/"+x+"/style.css";
        myHtmlLink.Attributes.Add("rel", "stylesheet");
        myHtmlLink.Attributes.Add("type", "text/css");
        Page.Header.Controls.Add(myHtmlLink);
==================================================================

同样的也可以添加META

 Dim hm1 As New HtmlMeta()

 Dim hm2 As New HtmlMeta()

Dim head As HtmlHead = Page.Header

    hm1.Name = "keywords"

    hm1.Content = "words that describe your web page"

    head.Controls.Add(hm1)

    hm2.Name = "date"

    hm2.Content = DateTime.Now.ToString("yyyy-MM-dd")

    hm2.Scheme = "YYYY-MM-DD"

    head.Controls.Add(hm2)

第二种方法: 

或者使用简单的方法来加载,在cs中:

public变量a,a="../css/"+theme+"/.css",然后在页面中:

<link href=<%= a%> rel="stylesheet" type="text/css" />

这种方法比较简单,而且不容易出错

第一种方法如果你的<head>中有<%= xx %>这样的代码的话,就会提示:

System.Web.HttpException: 控件包含代码块(即 <% ... %>),因此无法修改控件集合。

所以还是推荐第二种方法。

====================================================================================

第三种方法:

 string sty= "";
        sty= "<link href="http://www.cnblogs.com/../theme/" + xx+ "/style.css" rel="stylesheet" type="text/css" />";
        Page.RegisterClientScriptBlock("CommonStyle", sty);
这种方法还是很实用的

原文地址:https://www.cnblogs.com/521msh/p/1178122.html