2012-04-05 83 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