sharepoint - PublishingRolloutImage not persisting on Update(); -
i have list, has 3 fields: title, publishingrollupimage , description.
i want upload image library sitecollectionimages , reference on list.
i'm able upload file folder sitecollectionimages, , it's url.
i'm able insert item in list "mylist", publishingrolloutimage won't persist after update() method. tried set constructor imagefieldvalue, this:
new imagefieldvalue("<img src='test.jpg' />");
but didn't work.
here's code:
using (var site = new spsite(spcontext.current.site.id)) using (var web = site.openweb()) { var folder = web.getfolder("sitecollectionimages"); var file = folder.files.add(filename, file, true); folder.update(); var list = web.lists["mylist"]; var item = list.items.add(); item["title"] = "myitemtitle"; item["publishingrollupimage"] = new imagefieldvalue { imageurl = file.url }; item["description"] = "mydescription"; item.update(); }
what i'm doing wrong?
after lot of trial , error, found out doing 2 things wrong:
this:
item["publishingrollupimage"] = new imagefieldvalue { imageurl = file.url };
was supposed this:
var image = item["publishingrollupimage"] imagefieldvalue ?? new imagefieldvalue(); image.imageurl = string.format("/{0}", file.url); item["publishingrollupimage"] = image;
and file.url needs start slash. if doesn't start slash, break after update(); method. that's reason string.format there.
Comments
Post a Comment