使用Sitecore 8.0u3和Glass-Mapper 3.5.3
我遇到了一个无法解决的有趣情况。我在某些控制器渲染上看到,简单文本字段(单行,多行)的某些值似乎被缓存。其他控制器渲染似乎没有此问题。
我尝试写出表格的介绍文本,如下所示:
<div class="intro">@Editable(m => Model.ContextItem.Intro_Text)</div>
<div>RAW: @Model.ContextItem.Intro_Text</div>
请注意,我添加了第二行用于故障排除。
在这种情况下,结果是:
填写表格以联系uss。
RAW:填写表格与uss联系。
我更新Sitecore中的文本以删除额外的's',保存并发布。我刷新了我的页面,我看到了:
填写表格以联系uss。
RAW:填写表格与我们联系。
因此,不使用Editable
的部分可以正常工作,但Editable
版本会继续显示“旧”值。
我查看了很多设置,包括渲染的可缓存性,网站的可缓存性,Caching.Enabled
设置,Caching.HTMLLifetime
设置,IIS缓存,发布限制,但似乎没有影响这个问题。
其他地方有什么想法来寻找问题的根源吗?
答案 0 :(得分:6)
我认为您需要使用语法<div class="intro">@Editable(m => m.ContextItem.Intro_Text)</div>
而不是<div class="intro">@Editable(m => Model.ContextItem.Intro_Text)</div>
答案 1 :(得分:1)
我刚才谈到这个问题。将语法更改为@Editable(Model =&gt; Model.ContextItem.Intro_Text)
答案 2 :(得分:0)
@Editable()查看HtmlString,并且最有可能从HtmlCache中显示它。我也看到了这个问题,并且在构建过程中我必须重新发布所有内容以清除缓存,特别是当我将更改数据模板时。
您可以在开发环境中尝试一些事情并缩小问题范围。
进行更改后,请清除/sitecore/admin/cache.aspx中的HTML缓存并再次检查该页面。
尝试对网站进行增量发布,因为它会清除HTML缓存。
尝试重新发布网站。
此外,在
下禁用网站的输出缓存