如果内容节点有任何孩子,我想防止内容节点被丢弃。我设置了一个事件处理程序,如下所示:
public class KeepSafeEvents : ApplicationBase
{
public KeepSafeEvents()
{
Document.BeforeMoveToTrash += new Document.MoveToTrashEventHandler(Document_BeforeMoveToTrash);
}
void Document_BeforeMoveToTrash(Document sender, umbraco.cms.businesslogic.MoveToTrashEventArgs e)
{
if (sender.HasChildren)
{
e.Cancel = true;
}
}
}
但是,这似乎不起作用。我认为这是因为删除过程在处理父节点(然后没有子节点)之前首先将子节点移动到垃圾箱。还有另一种可能的解决方案吗?还是我在上面犯了一个简单的错误?