使用UmbracoHelper显示文本数组

时间:2016-12-21 13:27:18

标签: c# asp.net umbraco7

我无法弄清楚如何在Umbraco中显示文本数组。我试图显示来自"可重复文本字符串"的值。剃刀视图中的财产。

我有一个Umbraco视图设置,它通过这样的模型:

@inherits Umbraco.Web.Mvc.UmbracoViewPage<MyModel>

这意味着我无法通过Model.someVariable以正常方式访问umbraco字段。相反,我一直在使用UmbracoHelper来显示这样的文本内容:

@Umbraco.Field("mainColour")

但这并不适用于&#34;可重复的文本字符串&#34;属性类型,as .Field()将其转换为IHtmlString。

如何在页面上显示所有文字字符串?

2 个答案:

答案 0 :(得分:0)

您的模型是ModelsBuilder模型吗?如果是这样,你应该能够做到:

@Model.Content.GetPropertyValue("mainColour")

要将属性转换为字符串数组,可以将该语法更改为:

@(Model.Content.GetPropertyValue<IEnumerable<string>>("mainColour"))

您可能需要安装Core Property值转换器才能使其正常工作。

答案 1 :(得分:0)

这是我使用的Hack-ish解决方案。

我们使用控制器(扩展Umbraco.Web.Mvc.RenderMvcController)为页面渲染MyModel。

我意识到,在控制器中我可以使用CurrentPage来获取数据,并将其放在ViewBag中进行显示。所以为了显示刻度点数组:

ViewBag.tickPoints = CurrentPage.GetPropertyValue<string[]>("tickPoints");