遍历属性并访问其自己的属性

时间:2018-08-28 09:12:10

标签: c# umbraco umbraco7

我是C#和Umbraco的新手。无法弄清楚这个简单的事情,也找不到解决方法

AlphaGraphCum.set_xlim(-1,1)

如果我计算属性,它会提供正确数量的属性,但是我无法访问其自身的属性,例如“ Value”,“ PropertyTypeAlias”等。它引发异常读取: @inherits Umbraco.Web.Mvc.UmbracoTemplatePage @{ Layout = null; } List<string> test = new List<string>(); var item = CurrentPage.Children.FirstOrDefault(); var count = 0; foreach (var prop in item.Properties) { count++; test.Add(prop.PropertyTypeAlias); } <html> ... </html>

谢谢。

1 个答案:

答案 0 :(得分:1)

如果要访问文档类型的属性,这样做会更好,更容易:

@inherits UmbracoTemplatePage
@{

}

<h1>@Model.Content.Name</h1>
@foreach (var item in Model.Content.Children)
{
    <h2>@(item.GetPropertyValue<IHtmlString>("bodyText"))</h2>
}

CurrentPage是一个动态对象,而Model.Content获取“当前页面”,但作为强类型IPublishedContent,这意味着,如果您使用Visual Studio,则将获得智能感知并可以看到可以使用的方法。 / p>

在H1标签中,我只是拉出了当前内容节点的名称,在foreach中,我遍历了当前内容节点的子级,并使用别名“ bodyText”和数据类型“ Rich text”显示了它们的属性。

编辑:

@inherits UmbracoTemplatePage
@{
    var child = Model.Content.Children.FirstOrDefault();
    var properties = new List<string>();
    foreach (var item in child.Properties)
    {
        properties.Add(item.PropertyTypeAlias);
    }
}
@foreach (var item in properties)
{
    <h1>@item</h1>
}