Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.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
Asp.net 如何在我的Sharepoint Web部件中使用自定义CSS?_Asp.net_Css_Sharepoint - Fatal编程技术网

Asp.net 如何在我的Sharepoint Web部件中使用自定义CSS?

Asp.net 如何在我的Sharepoint Web部件中使用自定义CSS?,asp.net,css,sharepoint,Asp.net,Css,Sharepoint,“喂 我正在为Sharepoint开发我的第一个Web部件,现在我想知道在哪里/如何包含/存储我的CSS。我应该把我的.css文件放在哪里?我应该如何将它们包含在我的Web部件中?您应该使用可以链接或嵌入的Web部件资源。本文很好地解释了如何使用它们: 如果您从未计划更改Web部件的css,那么将css嵌入Web部件是很好的 我建议您将css包含在样式库中存储的单独文件中,或者更改页面布局或母版页中链接的css文件(例如core.css) 如果需要,只需为Web部件定义唯一的类,并将如何呈现的定

“喂


我正在为Sharepoint开发我的第一个Web部件,现在我想知道在哪里/如何包含/存储我的CSS。我应该把我的.css文件放在哪里?我应该如何将它们包含在我的Web部件中?

您应该使用可以链接或嵌入的Web部件资源。本文很好地解释了如何使用它们:


如果您从未计划更改Web部件的css,那么将css嵌入Web部件是很好的

我建议您将css包含在样式库中存储的单独文件中,或者更改页面布局或母版页中链接的css文件(例如core.css)

如果需要,只需为Web部件定义唯一的类,并将如何呈现的定义留给每个网站即可。这允许SharePoint实现的不同区域以不同的方式显示相同的Web部件

这意味着您永远不必为了改变一个次要的外观问题而发布dll。

这是我的方法

protected override void CreateChildControls()
{
    CssRegistration.Register("/_layouts/STYLES/WebPartName/styles.css");
}
这样可以确保CSS只注册和包含一次,并提供修改CSS的机会,而无需重新聚合整个dll。

U还可以使用:

HtmlLink linkCss = new HtmlLink();

//Defining attributes and values of the link tag
linkCss.Attributes.Add("href", "StyleSheet1.css");
linkCss.Attributes.Add("type", "text/css");
linkCss.Attributes.Add("rel", "Stylesheet");

//Add HtmlLink instance to the header of the current page
Page.Header.Controls.Add(linkCss);

那篇文章很好,除了他根据GAC/Bin安装硬编码路径(“~/wprocess/namespace”等)的部分。这就是WebPart.ClassResourcePath的用途-链接已失效。这里是一个internet存档快照:我同意链接而不是嵌入是更新的方式,但我认为css与页面关联是一个坏主意,在这种情况下,当一个web部件添加到页面时,您如何确定css也在那里?您还可以将其添加到每个页面,而不必考虑需要。