asp.net - 加载CSS文件动态呈现但不加载CSS文件

时间:2011-10-06 15:40:19

标签: asp.net

在我的ASP.NET应用程序中,我正在尝试动态添加CSS引用(在客户端上使用智能缓存)。

我的代码正确呈现给浏览器,但它没有加载CSS文件。 我必须明确地将链接放在我的标记中才能加载CSS文件,但是在后面的代码中它不会加载

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        FileInfo fi = new FileInfo(Server.MapPath("~/Styles/Site.css"));
        HtmlGenericControl link = new HtmlGenericControl("LINK");
        link.Attributes.Add("rel", "stylesheet");
        link.Attributes.Add("type", "text/css");
        link.Attributes.Add("href", "~/Styles/Site.css?t=" + fi.CreationTime.Ticks.ToString());
        Page.Header.Controls.Add(link);
    }
}

这看起来很简单。不知道为什么它不起作用。

注意:参加fileinfo ticks对行为没有影响。它呈现正常,但无论是否附加文件信息都不会加载。

1 个答案:

答案 0 :(得分:2)

您需要解析样式表的客户端URL,然后才能运行:

link.Attributes.Add("href", ResolveClientUrl("~/Styles/Site.css?t=" + fi.CreationTime.Ticks));