2012-04-05 80 views
0

我想要获取已发布节点的先前版本,以便与当前节点进行比较。我找到了Document.GetContentFromVersion,但似乎无法在NodeFactory中找到等价物或将Content转换为Node类型的方法。谁能帮忙?Umbraco 4.6:通过版本获取节点

回答

1

由于NodeFactory从umbraco.config缓存中获取其数据,并且Document从数据库中获取数据(参见Difference Between Node and Document),因此NodeFactory中没有与Document.GetContentFromVersion等效的内容。

您可以在内容的属性得到对象,你会与一个文档或节点以同样的方式:

var old = Document.GetContentFromVersion(version); 
var oldProperty = old.getProperty("propertyAlias"); 

对于比较, 节点:

var nodeProperty = node.GetProperty("propertyAlias"); 

if (oldProperty.Value == nodeProperty.Value) 
{ 
    ... 
} 

文件:

var docProperty = node.getProperty("propertyAlias"); 
if (oldProperty.Value == docProperty.Value) 
{ 
    ... 
} 
+0

这就是我的想法。我问的原因是我希望重复使用一个目前为其参数采用Node类型的方法。有几种方法来剥皮这只猫。我只是希望这是一个简单的类型演员,我失踪了。 :-) 谢谢。 – user1315940 2012-04-05 21:09:52