一个子布局(.ascx)正在使用其模板标准值中的数据源。
每当我使用varyByData
和varyByParm
启用可缓存设置时,我都无法在其模板的__Standard Value
中获取所有字段值。
我查看了cache.aspx
页面并显示:
**web[standardValues]________0________0________0________10MB<br />
MaxSize is 10MB, but zero Count, zero Size and zero Delta information.**
有关如何解决此问题的任何想法?
=============更新=============
我在CSS类名称的模板中有字段,例如h1,ul class等......以及最初在其标准值&#34; __标准值&#34;中设置的所有名称。 然后,我有一个项目将模板的标准值称为数据源。
这是我的另一篇文章,它将为您提供更多帮助。 Sitecore Cache Issue
我能知道问题是什么吗?
=============更新2 =============
当前.cs文件以获取字段值。
<asp:View ID="viewNormalMode" runat="server">
<nav class='<% Response.Write(myDataSourceItem.Fields["Nav Bar Class"]); %>'>
<h1 class='<% Response.Write(myDataSourceItem.Fields["Label h1 Class"]); %>'>
<i class='<% Response.Write(myDataSourceItem.Fields["Label i Class"]); %>'></i>
<% Response.Write(myDataSourceItem.Fields["Nav Bar Label"]); %>
</h1>
<ul class='<% Response.Write(myDataSourceItem.Fields["ul Class"]); %>'>
<asp:Literal ID="linkObjects" runat="server"></asp:Literal>
</ul>
</nav>
</asp:View>
答案 0 :(得分:0)
希望我理解正确。
Sitecore缓存如何在子布局上工作:当您启用可缓存设置全局或从页面到页面时,让我们进行主导航(作为子布局),您将得到以下结果: AppPool重新启动或应用程序DLL更新后导航查看第一页访问的方式在子布局上具有缓存的所有其他页面上看起来相同(即使您使用其他数据源或其他内容,代码也会缓存/未执行)。 / p>
但我认为你还有另一个更大的问题,从数据模板(项目)上的演示文稿子画面移动你的字段以便选择你会在Locales上遇到很大的问题。除此之外,你可以从代码中添加你的类:
你知道你的布局,你在其中的案例,你知道你的上下文项目或你的页面定义项目,基于模板名称(Context.Item.TemplateName == "Article"
)把你的CSS类