2016-11-30 36 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