【发布时间】:2014-11-04 21:39:35
【问题描述】:
今天,我收到错误消息“对象必须实现 IConvertible。”当我尝试将相关媒体项目添加到动态内容时,我有 Ajax 将图像上传到 Sitefinity 管理员。这是代码。
var doctorType = TypeResolutionService.ResolveType(ConstUtil.DoctorType);
var liveItem = dynamicModuleManager.GetDataItem(doctorType, Authentication.Id);
dynamicModuleManager.Provider.SuppressSecurityChecks = true;
var masterItem = dynamicModuleManager.Lifecycle.GetMaster(liveItem) as DynamicContent;
var cultureName = CurrentCulture;
Thread.CurrentThread.CurrentUICulture = new CultureInfo(cultureName);
var draftItem = dynamicModuleManager.Lifecycle.CheckOut(masterItem) as DynamicContent;
if (draftItem == null)
{
return new HttpResponseMessage
{
Content = new JsonContent(new { Result = false })
};
}
var newImage = UploadImage(model);
if (newImage != null)
{
//var contentLink = new ContentLink(newImage.Parent.Id, newImage.Id);
//draftItem.SetValue("photo" , NewImage);
}
// 现在我们需要签入,所以更改应用
var checkInDoctorItem = dynamicModuleManager.Lifecycle.CheckIn(draftItem);
dynamicModuleManager.Lifecycle.Publish(checkInDoctorItem);
dynamicModuleManager.SaveChanges();
我尝试通过两种方式修复此错误
1) draftItem.AddImage("photo", newImage); It still get same Error
2) draftItem.CreateRelation(newImage, CustomFieldName.DoctorProfilePhoto);
不会报错,但无法将新图像保存到目标。
所以我用的是Sitefinity 7.0,请帮我解决一下。
【问题讨论】:
标签: sitefinity dynamic-content