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属性中