链接到SharePoint中的外部样式表的最佳方法是什么

时间:2008-10-29 23:04:54

标签: css sharepoint

我在SharePoint中加载了一些用户控件,我希望将所有这些样式包含在外部样式表中。在CSS中链接到外部样式表的最佳方法是什么?

感谢。

4 个答案:

答案 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内置的备用样式表属性从代码中完全删除此配置。

  1. 下拉网站操作菜单,然后选择网站设置 - >修改所有网站设置
  2. 在结果页面上,点击外观列中的母版页链接。
  3. 网站母版页设置页面上,滚动到备用CSS网址部分的底部。选择指定CSS文件... 单选按钮,然后输入样式表的URL。我把它放在家庭网站的样式库中,但你可以把它放在你想要的地方。
  4. 如果您愿意,可以选择重置所有子网站以继承此备用CSS网址复选框,为所有子网站设置它。
  5. 点击确定按钮。
  6. 可悲的是,此配置不适用于WSS站点。但对象模型确实有它。因此,您可以将其与WSS和MOSS中的代码一起应用于Web部件或PowerShell等。

    在代码中,一旦你有一个对SPWeb对象的引用,比如一个名为theWeb的巧妙命名的变量,你可以使用以下代码分配样式表的URL:
        theWeb.AlternateCssUrl =“http://server/site/library/stylesheet.css”;     theWeb.Update();