Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 使用css类包装自定义Web部件_Sharepoint - Fatal编程技术网

Sharepoint 使用css类包装自定义Web部件

Sharepoint 使用css类包装自定义Web部件,sharepoint,Sharepoint,我正在尝试在SharePoint中创建自定义web部件的品牌。我正在尝试向ms WPHeader类添加一些按钮,为此,我想用一个div包装整个自定义web部件,或者向其中添加一个css类。我无法在自定义web部件xsl中执行此操作,因为我正在尝试更改sharepoint中的一些标准行为 我尝试了很多方法,但现在我用jQuery添加了按钮和高度 如何添加类或包装自定义web部件 通过JavaScript添加所需的类,您可以通过Web部件添加这些类。您没有提到如何编写Web部件,我将尝试介绍几种可能

我正在尝试在SharePoint中创建自定义web部件的品牌。我正在尝试向ms WPHeader类添加一些按钮,为此,我想用一个div包装整个自定义web部件,或者向其中添加一个css类。我无法在自定义web部件xsl中执行此操作,因为我正在尝试更改sharepoint中的一些标准行为

我尝试了很多方法,但现在我用jQuery添加了按钮和高度


如何添加类或包装自定义web部件

通过JavaScript添加所需的类,您可以通过Web部件添加这些类。

您没有提到如何编写Web部件,我将尝试介绍几种可能性:

从您提到XSL开始,Via SharePoint Designer听起来很像,除非它是一个可以在浏览器中编辑的搜索Web部件

您可以简单地用DIV或类似的东西包装您的Web部件,或者包装整个WP区域

如果您可以使用DataFormWebPart或类似的工具访问XSL,您可以使用DIV对其进行内部包装,它在WP的所有情况下都是可见的,即使在空结果中也是如此

如果这是ContentQueryWP,则需要在样式库中编辑Header.xsl文件,并创建一个新的头并在toolpart中进行设置:

<xsl:template name="CustomBranded" match="*[@GroupStyle='CustomBranded']" mode="header">
  <div class="groupheader item MYCUSTOMWP">
  <xsl:call-template name="OuterTemplate.GetGroupName">
      <xsl:with-param name="GroupName" select="@*[name()=$Group]"/>
      <xsl:with-param name="GroupType" select="$GroupType"/>
  </xsl:call-template>
</div>
现在,您的WP将有一个.myCustomWP完全包装它


这些都是我能记起的东西。

我这样做过好几次,从来没有遇到过问题。 首先,您必须在VisualStudio项目中映射Layouts文件夹,然后在那里插入CSS,但我想您已经这样做了

然后,您必须在代码隐藏中执行此操作:

CssLink cssLink = new CssLink();
cssLink.DefaultUrl="/_layouts/PROJECTNAME/styles/FILE.css";
        if (!this.Page.Header.Controls.Contains(cssLink)) {
            this.Page.Header.Controls.Add(cssLink);
        }
问候,

佩德罗


Mixit.nl

正是我向web部件区添加css所需要的。我在我的页面layout.html中将该样式添加到中,效果非常好
CssLink cssLink = new CssLink();
cssLink.DefaultUrl="/_layouts/PROJECTNAME/styles/FILE.css";
        if (!this.Page.Header.Controls.Contains(cssLink)) {
            this.Page.Header.Controls.Add(cssLink);
        }