在 运行 时间添加的属性,但是当我添加内容并发布时,它仅在我重建后才显示在前端

Proprieties added at run time but when i add Content and publish it shows at the front end only after i rebuild

我正在使用 Umbraco 7 并且我动态地将属性添加到名为

的选项卡

Master & Detail Last Section

使用这个逻辑var x = 0; foreach (var item in multiUrlPickerDyn) { var tab = dt.PropertyTypeGroups.LastOrDefault(t => t.Name == "Master & Detail Last Section"); var pt = dt.getPropertyType(item.Name + "m" + x) ?? dt.AddPropertyType(sidebar, item.Name + "m" + x, item.Name + " 'Master'"); pt.PropertyTypeGroup = tab.Id; pt.Save(); pt = dt.getPropertyType(item.Name + "d" + x) ?? dt.AddPropertyType(sidebar, item.Name + "d" + x, item.Name + " 'Details'"); pt.PropertyTypeGroup = tab.Id; pt.Save(); x++; }

添加了礼仪,我可以在后台看到它们,一切都很酷 但是当我满足于它们并发布它但它没有出现在前端时 它仅在我重建我的项目后显示列表项在构建之前显示但内容不

在我重建之后,所有东西都出现了,有人知道为什么吗? 请帮助我,我卡住了

我在错误的方向上搜索是从后台获取数据时出错 我正在使用

@Umbraco.Field(item.Name + "m" + x) 不会在 运行 时间

上工作

使用这个 var currentNode = umbraco.presentation.nodeFactory.Node.GetCurrent(); @currentNode.GetProperty(item.Name + "m" + x).Value;

更新 这个答案和这个方法都是错误的不要在 运行 时间添加任何动态这是一个不好的做法你可以让用户从 Umbraco 后台添加文档类型并使用 Currentpage.child 在视图中列出它们作为一个 umbraco 新手,我真的很抱歉在我不是很好的情况下提问和回答。