Title、PublishingRollupImage、Descriptionの3つのフィールドを持つリストがあります。
画像をライブラリSiteCollectionImagesにアップロードし、リストで参照したいと思います。
ファイルをSiteCollectionImagesフォルダーにアップロードして、そのURLを取得できます。
リスト「MyList」にアイテムを挿入することもできますが、Update()メソッドの後でPublishingRolloutImageが保持されません。私はすでに次のようにImageFieldValueのコンストラクターを設定しようとしました:
new ImageFieldValue("<img src='test.jpg' />");
しかし、それは機能しませんでした。
これが私のコードです:
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();
}
私が間違っているのは何ですか?