Asp.net mvc 4 在umbraco中渲染子项目的布局网格?
我有一篇文章,其中有多篇相关文章。此相关文章有一个布局网格。现在我想在我的主要文章下面呈现这个网格。 我通过以下代码获得这篇相关文章:Asp.net mvc 4 在umbraco中渲染子项目的布局网格?,asp.net-mvc-4,razor,umbraco,Asp.net Mvc 4,Razor,Umbraco,我有一篇文章,其中有多篇相关文章。此相关文章有一个布局网格。现在我想在我的主要文章下面呈现这个网格。 我通过以下代码获得这篇相关文章: @{ var children = Model.Content.GetPropertyValue("relatedArticles").ToString().Split(','); } @foreach (var child in children) { Umbraco.Content(child).GetGridHtml("gr
@{
var children = Model.Content.GetPropertyValue("relatedArticles").ToString().Split(',');
}
@foreach (var child in children) {
Umbraco.Content(child).GetGridHtml("gridLayout");
}
但是GetGridHtml()函数不起作用。在umbraco文档中GetGridHtml
只能从@CurrentPage访问。
如何渲染这些网格布局 我终于用这个方法找到了我的解决方案:
@{
var children = Model.Content.GetPropertyValue("relatedArticles").ToString().Split(',');
}
@foreach (var child in children) {
var data = Umbraco.TypedContent(child);
@Html.GetGridHtml(data, "gridLayout");
}
如果使用Umbraco.TypedContent而不是.Content,它将返回一个IPpublishedcontent(因此无需强制转换)。此外,还应检查数据变量是否为null,因为该节点可能已被删除,但其ID仍可能位于relatedArticles属性中