1

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

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

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

感谢您的帮助!

4

2 回答 2

0

我设法解决了这个问题。在这种情况下,动态属性工作得很好。问题出在使用的定制友好 URL 解决方案中。

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

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

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

于 2012-03-01T15:17:47.983 回答
0

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

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

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

于 2012-03-01T09:23:43.627 回答