在我的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对行为没有影响。它呈现正常,但无论是否附加文件信息都不会加载。
答案 0 :(得分:2)
您需要解析样式表的客户端URL,然后才能运行:
link.Attributes.Add("href", ResolveClientUrl("~/Styles/Site.css?t=" + fi.CreationTime.Ticks));