我试图获取一些页面的名称,这些页面是在Umbraco中使用多节点树选择器选择的 我使用的版本是Umbraco 7.01和MVC
场景是:我有一个新闻页面,在这个页面上我可以选择一些带有多节点树选择器的类别,我选择的项目是Pages。 现在,我从页面获取ID,但我不能循环ID并返回页面名称???但是,它似乎永远不会进入第二个foreach()循环
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
var getCategories = CurrentPage.category.Split(','); //My Picker, This can be several pages = more ID om pages, that why the split
<p>@CurrentPage.category//This returns 1077,1079</p>
@foreach (string id in getCategories)
{
@id //This return 1077 1079
foreach (var catItem in Umbraco.TypedContent(id).Children)
{
<p>@catItem.Name</p>
}
}
答案 0 :(得分:0)
尼基,
在我确定之前,我已经看过了。无论如何你可以尝试
var getCategories = CurrentPage.category.Split(',').ToList();
此致
伊斯梅尔
答案 1 :(得分:0)
尼基,
确定不同的曲目,通过强类型访问尝试以下内容,这是在mvc umbraco中执行此操作的首选方式:
var getCategories = Model.Content.GetPropertyValue<string>("category").Split(',').ToList();
此致
伊斯梅尔
答案 2 :(得分:0)
更改
@foreach (string id in getCategories)
{
@id //This return 1077 1079
foreach (var catItem in Umbraco.TypedContent(id).Children)
{
<p>@catItem.Name</p>
}
}
类似于:
@foreach (string id in getCategories)
{
@id //This return 1077 1079
int nodeId = -1;
Int32.TryParse(id,out nodeId);
Node x = new Node(nodeId);
foreach (var catItem in x.Children)
{
<p>@catItem.Name</p>
}
}