我想在Mega菜单中显示Umbraco Grid,在这种情况下我不能使用@ CurrentPage.GetGridHtml(“”)。 我需要使用节点变量:myNode.GetProperty(“menuGrid”)
来获取它最好的方法是什么?
答案 0 :(得分:1)
您可以使用各种方式从网格中获取内容。这些都在这里描述:https://our.umbraco.org/documentation/getting-started/backoffice/property-editors/built-in-property-editors/grid-layout/render-grid-in-template。
在我看来,最好的方法是创建自定义网格视图/渲染器,并在此处使用适当的方法来检索内容,例如。
@CurrentPage.GetGridHtml(Html, "yourGridPropertyAlias", "customgridview")
@CurrentPage.GetGridHtml(Html, "yourGridPropertyAlias", "/views/othercustomgridview.cshtml")
答案 1 :(得分:0)
Marcin的建议有助于找到解决方案。
为了防止有人在寻找类似的东西,我的INode无法访问GetGridHtml。转换为打字内容后,我重新获得了该属性的访问权限
foreach (var country in countryNode.ChildrenAsList)
{
var myNode = Umbraco.TypedContent(country.Id);
var property = myNode.GetGridHtml("menuGrid");
}