防止在umbraco中删除包含子节点的内容
如果内容节点有子节点,我想防止它们被丢弃。我设置了一个事件处理程序,如下所示:防止在umbraco中删除包含子节点的内容,umbraco,Umbraco,如果内容节点有子节点,我想防止它们被丢弃。我设置了一个事件处理程序,如下所示: public class KeepSafeEvents : ApplicationBase { public KeepSafeEvents() { Document.BeforeMoveToTrash += new Document.MoveToTrashEventHandler(Document_BeforeMoveToTrash); } void Document
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;
}
}
}
然而,这似乎不起作用。我假设这是因为删除过程在处理父节点(然后没有子节点)之前先将子节点移动到垃圾箱。还有其他可能的解决办法吗?还是我犯了上面的一个简单错误?这段代码对我来说非常适合。是否确实已将生成的.dll文件复制到Umbraco的/bin文件夹 我只是写的比你写的要短一点,如下所示,但功能应该完全相同 我确实注意到,带有childnode的文档似乎要被删除(它从树中消失),但当您重新加载树时,节点仍然存在
public class KeepSafeEvents : ApplicationBase
{
public KeepSafeEvents()
{
Document.BeforeMoveToTrash += Document_BeforeMoveToTrash;
}
void Document_BeforeMoveToTrash(Document sender, MoveToTrashEventArgs e)
{
if (sender.HasChildren)
e.Cancel = true;
}
}
是的,你是对的,代码可以防止删除;动画不会停止。我在umbraco项目中输入了一个bug。