【发布时间】:2010-09-19 21:49:32
【问题描述】:
我在 SharePoint 中加载了一些用户控件,我希望将所有这些样式包含在外部样式表中。在 CSS 中链接到外部样式表的最佳方式是什么?
谢谢。
【问题讨论】:
标签: css sharepoint
我在 SharePoint 中加载了一些用户控件,我希望将所有这些样式包含在外部样式表中。在 CSS 中链接到外部样式表的最佳方式是什么?
谢谢。
【问题讨论】:
标签: css sharepoint
你不能在头部添加一个 吗?如果没有,可以 this.page.header.controls.add 吗?
【讨论】:
此代码将确保您只向页面添加 1 个样式表引用,无论您有多少 Web 部件 - 相同的代码 sn-p 可用于 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);
}
【讨论】:
谢谢,
我在看那种方式太复杂了。您的回答解决了我的问题,并且实际上会比我打算使用的方法好得多。
【讨论】:
如果您使用的是 MOSS,则可以使用 SharePoint 的内置备用样式表属性从代码中完全删除此配置。
很遗憾,此配置不适用于 WSS 站点。但是对象模型确实有它。因此,您可以通过 Web 部件或 PowerShell 之类的方式在 WSS 和 MOSS 中使用代码应用它。
在代码中,一旦您引用了 SPWeb 对象,例如在一个名为 theWeb 的巧妙命名的变量中,您就可以使用以下代码分配样式表的 URL:
theWeb.AlternateCssUrl = "http://server/site/library/stylesheet.css";
theWeb.Update();
【讨论】: