我目前使用 N2CMS 创建一个网站,但是我遇到了以下问题。
我有一个页面,其中包含图像列表:
[EditableChildren("SliderImageItem", "SliderImageItem", 150)]
public virtual IList<SliderImageItem> SliderImages
{
get
{
return GetChildren<SliderImageItem>("SliderImageItem");
}
}
SliderImageItem 的代码:
[PartDefinition("Image", Description = "", SortOrder = 0)]
[AllowedZones("SliderImageItem")]
public class SliderImageItem : N2.ContentItem, IPart
{
public string Summary
{
get { return ""; }
}
public override bool IsPage
{
get { return false; }
}
public virtual string getLargeImage
{
get { return N2Helper.getLargeImage(SliderImage); }
}
[FileAttachment, EditableFileUploadAttribute("Slider Image", 50)]
public virtual string SliderImage
{
get { return (string)GetDetail("SliderImage") ?? string.Empty; }
set { SetDetail("SliderImage", value, string.Empty); }
}
}
我的问题是,每当我创建一个页面并立即添加项目时,它都会引发 StackOverflowException,这可能意味着某处存在无限循环。奇怪的是,当我第一次保存项目然后返回添加图像列表项时,它可以工作。可能是因为该页面还没有 ID 并且没有绑定它的引用吗?
我已经查看并参考了 Github 项目,但运气不佳。有什么我想念的吗?
谢谢你的帮助。