我在SharePoint中加载了一些用户控件,我希望将所有这些样式包含在外部样式表中。在CSS中链接到外部样式表的最佳方法是什么?
感谢。
答案 0 :(得分:1)
你能不能添加< link rel ...>到头?如果没有,你可以this.page.header.controls.add?
答案 1 :(得分:1)
此代码将确保您只向页面添加1个样式表引用,而不管您拥有多少个Web部件 - 相同的代码段可用于javascript。
protected override void OnPreRender(EventArgs e)
{
const string stylesheet = "YourStylesheet.css";
if (!Page.IsClientScriptBlockRegistered(stylesheet))
{
Page.RegisterClientScriptBlock(stylesheet,
string.Format(@"<link href=""{0}/{1}"" rel=""stylesheet""/>",
this.ClassResourcePath, stylesheet));
}
base.OnPreRender(e);
}
答案 2 :(得分:0)
谢谢,
我看起来太复杂了。你的答案解决了我的问题,实际上比我接近它的方法要好得多。
答案 3 :(得分:0)
如果您使用的是MOSS,则可以使用SharePoint内置的备用样式表属性从代码中完全删除此配置。
可悲的是,此配置不适用于WSS站点。但对象模型确实有它。因此,您可以将其与WSS和MOSS中的代码一起应用于Web部件或PowerShell等。
在代码中,一旦你有一个对SPWeb对象的引用,比如一个名为theWeb
的巧妙命名的变量,你可以使用以下代码分配样式表的URL:
theWeb.AlternateCssUrl =“http://server/site/library/stylesheet.css”;
theWeb.Update();