Изображение Custom Webpart - PullRequest
       1

Изображение Custom Webpart

0 голосов
/ 11 февраля 2011

У меня есть пользовательский список, который имеет поле изображения.Я должен отобразить изображение через код моделирования объекта.

Какой элемент управления мне нужно использовать для отображения изображения в веб-части и для какого свойства мне нужно назначить его.

[Guid("207cea76-b1ee-4b86-9638-00c22d3d9398")]
public class News : System.Web.UI.WebControls.WebParts.WebPart
{
    Label lblTitle;
    ImageField  imgNews;
    Label lblDescription;
    public News()
    {
    }

    protected override void CreateChildControls()
    {
        base.CreateChildControls();
        lblTitle = new Label();
        imgNews = new ImageField();
        lblDescription = new Label();

        string siteURL = "http://my-dev-box-har";
        using (SPSite site = new SPSite(siteURL))
        {
            using (SPWeb web = site.OpenWeb())
            {
                SPListItemCollection  list = web.Lists["News"].Items ;
                foreach (SPListItem  item in list)
                {
                    lblTitle.Text = item["Title"].ToString();
                    lblDescription.Text = item["Description"].ToString();
                    imgNews. = item[""].ToString();
                    Controls.Add(lblTitle);
                    Controls.Add(lblDescription);
                   }




            }
        }

    }
}

}

Я не знаюЧтобы использовать изображение или элемент управления Imagefield для отображения моего изображения из пользовательского списка sharepoint.

Может ли кто-нибудь указать мне правильное направление, пожалуйста.

Спасибо, Хари

1 Ответ

1 голос
/ 12 февраля 2011

Это самый простой пример, который я мог придумать:

using System.ComponentModel;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;

namespace TestPictureWebPart.PicWebPart
{
    [ToolboxItemAttribute(false)]
    public class PicWebPart : WebPart
    {
        protected override void CreateChildControls()
        {
            SPList list = SPContext.Current.Web.Lists["ImageList"];
            SPListItemCollection items = list.Items;

            foreach (SPListItem item in items)
            {
                string title = item[SPBuiltInFieldId.Title].ToString(); // or string title = item.Title;
                SPFieldUrlValue picture = new SPFieldUrlValue(item["MyPicture"].ToString());

                Image image = new Image();
                image.ToolTip = title;
                image.ImageUrl = picture.Url;
                Controls.Add(image);
            }
        }
    }
}

Просто совет: всегда лучше использовать SPBuiltInFieldId для доступа к готовым столбцам в SharePoint.

Кроме того, в вашем примере кода ... если в вашем списке более одного элемента списка, у вас проблемы. Вы будете использовать одни и те же веб-элементы управления (например, метки) для каждого элемента списка и добавлять их в коллекцию элементов управления на каждой итерации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...