我有一个名为Categories的分类。在这个分类中,我有多个级别的术语。每个术语都是CategoriesTerm内容类型。
我已经定义了一个自定义剃刀模板:Content-CategoriesTerm.cshtml
,当我点击前端的CategoriesTerm时使用它。
现在我想在该页面上显示所有直接孩子(如果有的话),但是没有像Term.Children
之类的属性。如何在Razor视图中获得一个学期的孩子?
答案 0 :(得分:0)
检查Taxonomy.cshtml
和Orchard.Mvc.DisplayChildren
。它是这样的:
var tag = Tag(Model, "ul");
IList<dynamic> items = Model.Items;
if (items.Any()) {
items[0].Classes.Add("first");
items[items.Count - 1].Classes.Add("last");
<div>
@tag.StartElement
@* see MenuItem shape template *@
@DisplayChildren(Model)
@tag.EndElement
</div>
如果你愿意,可以在Razor中完成@DisplayChildren:
public IHtmlString DisplayChildren(dynamic shape) {
var writer = new HtmlStringWriter();
foreach (var item in shape) {
writer.Write(Display(item));
}
return writer;
}