2016-11-30 39 views
0

新增Sitecore,並且只需要將項目的子項發送到視圖。我的控制器如下所示:通過控制器發送列表以查看

 Database database = Sitecore.Context.Database; 

     Item myItem = database.GetItem("{0173DED8-D91D-45F0-A390-F17F3BA32A5C}"); 

     IEnumerable<Item> itemList = myItem.GetChildren(); 

     return View(itemList); 

視圖中需要什麼代碼才能填充此列表?我假設一個foreach,但我真的不知道如何寫出來,所以一個例子會是最有幫助的。

回答

1

這樣簡單。

我建議不要將整個項目發送到視圖。它有很多數據。

@model IEnumerable<Item> 

@foreach (var item in Model) 
{ 
    <span>@item.Name</span> 
} 

請參閱我的回答,以便使用Glass Mapper將可編輯的sitecore字段發送到控制器呈現的視圖。它比整個項目小得多。

https://sitecore.stackexchange.com/questions/2795/best-practice-for-implementing-a-controller-rendering-using-glasscontroller/2803#2803

而且這裏是Sitecore的MVC一個很好的資源。 Sitecore社區MVC示例項目。

https://github.com/Sitecore-Community/sample-sitecore-mvc

+0

感謝您的鏈接,我會利用它們。謝謝你的回答,這正是我要找的。使用時出現錯誤:@model IEnumerable 。 'Item'是下劃線的,它認爲我缺少using指令或程序集引用。你知道爲什麼,偶然嗎? – Batsu

+0

我更新了答案。我在item.Name前忘記了一個@名稱 –

+0

非常感謝@dnstommy的一切!像魅力一樣工作 - 這麼簡單! – Batsu