使用N2 CMS时
如果我想在创建新的ContentItem时设置一些默认值(例如,设置新页面的CreatedByUser值,以便记录最初的创建者),那么将代码放在哪里是最好的?
我认为ContentItem的构造函数并不理想,因为它会在加载现有对象时被调用。
发布于 2010-11-03 21:02:52
如果你使用的是Get/SetDetail语法,那么你可以在getter属性中这样做:
public virtual string TopImage
{
get { return (string)(GetDetail("TopImage") ?? string.Empty); }
set { SetDetail("TopImage", value); }
}这有点难看,所以Get/Set detail也有一个重载,允许您指定默认值:
public virtual string TopImage
{
get { return GetDetail("TopImage", String.Empty /* Default */); }
set { SetDetail("TopImage", value, String.Empty /* Default */); }
}如果您希望在保存某些内容时保存值,请尝试覆盖ContentItem上的AddTo方法。每次保存对象时都会调用它,所以如果只想在第一次保存时调用它,请小心(当项目是“新的”时,ID为== 0)
https://stackoverflow.com/questions/4068021
复制相似问题