EPiServer动态属性为空/未更新

时间:2012-02-29 16:04:18

标签: c# .net episerver episerver-6

EPiServer(CMS 6 R1)中的动态属性存在一些问题。 我创建了一个在页面上使用的动态属性。不幸的是,现有页面上的属性为null。如果我创建一个全新的页面,甚至复制一个现有页面,那么动态属性就可以正常工作。

有没有人对现有页面有动态属性的经验?感觉像旧的东西被保存在某个地方。我搜索了数据库但无法找到任何可以删除的内容。

编辑: 感谢您的评论。我试图在页面本身和它的父页面中设置属性。然后我使用CurrentPage [“fooproperty”]来访问它。还没有其他属性名为“fooproperty”,我尝试了一些不同的属性名称,但它们在现有页面上都是null。如果我创建一个相同类型的新页面,动态属性就可以正常工作。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

添加新的动态属性时,现有页面没有该属性的数据,因此属性包不包含新属性的值。

对于这些现有页面,您需要在页面本身或祖先页面上设置新动态属性的值(记住选中此框以设置子页面的此值)。

在您看到PageData属性包中的属性之前,应用程序可能需要重新启动/回收以刷新缓存的PageData实例。

答案 1 :(得分:0)

我设法解决了这个问题。在这种情况下,动态属性工作正常。问题在于使用了量身定制的friendly-Url解决方案。

页面可以有不同的友好URL。有些网址使用EPiServer的UrlRewriter,并从这些网址访问页面的CurrentPage属性是预期的。

对于其他网址(到同一页面),他们使用覆盖UrlRewriter,它实际上采用模板页面(不是实际页面)并用数据填充它。这意味着使用CurrentPage不会给出实际页面,而是模板页面(位于完全不同的位置)。

有点乱,但知道我知道。感谢您的评论和解答!