Web部件以从SharePoint库中查看照片

时间:2012-05-10 15:27:43

标签: c# sharepoint web-parts

我正在尝试开发一个可以显示照片库中随机照片的网页部件。

我已经能够成功遍历并从库中选择一张随机照片。我现在的问题是在SharePoint网站上显示此照片。我已经尝试创建一个图像控件并将url设置为我检索到的url并以编程方式添加图像控件但是在web部件加载后图像似乎没有显示在页面上。它只是显示一个红色X表示图像无法显示。

如果我在浏览器中导航到照片的URL,则会显示它,但不会在Web部件尝试将其拉下时显示。

任何人都可以给我指针吗?我仍然是SharePoint初学者

这是我到目前为止所做的:

       Random randomNumber;
       randomNumber = new Random();

       Controls.Clear();
       ClearChildState();
       SPWeb thisWeb = SPContext.Current.Web;

       SPPictureLibrary pictures = (SPPictureLibrary)thisWeb.Lists["Houston Photos"];
       int pictureCount = pictures.ItemCount;
       int index = randomNumber.Next(pictureCount);
       string source = thisWeb.Url + "/" + pictures.Items[index].Url;
       String itemHtml = String.Format(@"<img SRC={0}+height=200px> </img>",source);
       this.Controls.Add(new LiteralControl(itemHtml));
       imgControl.ImageUrl = source;

1 个答案:

答案 0 :(得分:3)

我说这是你的img标签,这就是问题

尝试类似

的内容
string itemHtml = string.concat("<img src=\"", source, "\" height=\"200\" />);

您还可以使用Image类控件http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.image.aspx

Random randomNumber;
randomNumber = new Random();

Controls.Clear();
ClearChildState();
SPWeb thisWeb = SPContext.Current.Web;

SPPictureLibrary pictures = (SPPictureLibrary)thisWeb.Lists["Houston Photos"];
int pictureCount = pictures.ItemCount;
int index = randomNumber.Next(pictureCount);
string source = thisWeb.Url + "/" + pictures.Items[index].Url;

var image = new Image();
image.ImageUrl = source;
image.Height = 200;
this.Controls.Add(image);