如何使用Sharepoint对象模型获取放置在映射图像文件夹中的图像的URL? (已添加)我正在将图像部署为可视Web部件(我的网站名为ProgressWebPart)的一部分。
答案 0 :(得分:8)
您应该将服务器相对网址用于静态图片:
/_layouts/images/ProgressWebPart/myImage.png
虽然站点相对URL(没有前导斜杠)可以工作,但请考虑在两个单独的站点中使用Web部件时会发生什么。访问这两个站点的用户将请求以下图像:
http://server/site1/_layouts/images/ProgressWebPart/myImage.png
http://server/site2/_layouts/images/ProgressWebPart/myImage.png
即使两个请求都返回完全相同的文件,浏览器也会认为它们是不同的,因为它们具有不同的URL。通过使用服务器相对URL,您可以确保用户只下载一次静态文件。如果他们访问使用您的网络部分的其他网站,那么浏览器将使用其缓存中的副本节省时间和带宽。
答案 1 :(得分:1)
您无需使用OM来获取此信息 - 它是静态的,并确定您的解决方案的打包方式。
例如,SharePoint 2010的默认站点徽标将在此处
_layouts /图像/ siteIcon.png
所以http://yoursite/_layouts/images/siteIcon.png
和htp://yoursite/yoursite/yoursubsite/_layouts/images/siteIcon.png
答案 2 :(得分:0)
事实证明(对于我的'ProgressWebPart'):“_layouts / images / ProgressWebPart /”
因此,将PNG文件加载到Image控件中可以在C#中完成:
Image image = new Image();
image.ImageUrl = "_layouts/images/ProgressWebPart/myImage.png";