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也在那里?您还可以将其添加到每个页面,而不必考虑需要。