2014-03-07 70 views
3

我已經嘗試使用得到一些頁面的名稱,具有多節點樹選擇器選擇在一把umbraco 版本IM是一把umbraco 7.01,和MVC在多節點樹獲取兒童姓名選擇器

的情況是:我有一個新聞頁面,在這個頁面上,我可以用多節點樹選擇器選擇一些類別,我選擇的項目是頁面。 現在,即時通訊從頁面中獲取,但我不能循環ID和返回頁面的名稱?然而,現在看來,這永遠不會在第二個foreach()循環

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage 
var getCategories = CurrentPage.category.Split(','); //My Picker, This can be several pages = more ID om pages, that why the split 

<p>@CurrentPage.category//This returns 1077,1079</p> 

@foreach (string id in getCategories) 
{ 
    @id //This return 1077 1079 
    foreach (var catItem in Umbraco.TypedContent(id).Children) 
    { 
     <p>@catItem.Name</p> 
    } 
} 

回答

0

尼基,

我已經看到了這一點,我敢肯定它。總之你能嘗試

var getCategories = CurrentPage.category.Split(',').ToList(); 

問候

伊斯梅爾

+0

然後我得到的錯誤: 'System.Array的' 不包含 'ToList' 使用 – nuffsaid

+0

添加一個定義system.linq – Ismail

+0

仍然返回與之前相同的錯誤 – nuffsaid

0

尼基,

確定不同的軌道,請嘗試以下通過強類型的訪問是在MVC一把umbraco這樣做的首選方式:

var getCategories = Model.Content.GetPropertyValue<string>("category").Split(',').ToList(); 

Regards

伊斯梅爾

0

變化

@foreach (string id in getCategories) 
{ 
    @id //This return 1077 1079 
    foreach (var catItem in Umbraco.TypedContent(id).Children) 
    { 
     <p>@catItem.Name</p> 
    } 
} 

喜歡的東西:

@foreach (string id in getCategories) 
{ 
@id //This return 1077 1079 
int nodeId = -1; 
Int32.TryParse(id,out nodeId); 
Node x = new Node(nodeId); 
foreach (var catItem in x.Children) 
{ 
<p>@catItem.Name</p> 
} 
} 
+0

我不知道nicky,但是在Umbraco 7.1.4中,我得到以下錯誤:「類型或命名空間名稱'Node'不能成立d ...「 – Harvey

+0

您應該添加以下對您的視圖的引用 @using umbraco.NodeFactory –