【问题标题】:Sitecore Cache from Standard Value来自标准值的 Sitecore 缓存
【发布时间】:2014-12-08 21:09:19
【问题描述】:

一个子布局 (.ascx) 正在使用来自其模板标准值的数据源。 每当我使用varyByDatavaryByParm 启用可缓存设置时,我无法获取其模板的__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 类等……所有名称最初都设置在其“__Standard Values”中。 然后,我有一个项目将模板的标准值称为数据源。

这是我的另一篇文章,它将为您提供更多帮助。 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>

【问题讨论】:

  • 抱歉,Jay,但这个问题似乎不够完整,无法帮助您。您能否将您的问题编辑得更具体一些?我们需要更多信息。
  • 谢谢你,我已经更新了一些更多的信息.​​.

标签: templates caching sitecore


【解决方案1】:

希望我理解正确。

Sitecore 缓存如何在子布局上工作:当您启用全局可缓存设置或从页面到页面时,让我们采用主导航(作为子布局),您将得到以下结果: 在 AppPool 重新启动或应用程序 DLL 更新后,您的导航查看第一页访问的方式在所有其他在子布局上有缓存的页面上看起来都是一样的(即使您使用其他数据源或其他东西,代码也会被缓存/不执行)。

但我认为您还有另一个更大的问题,移动您的字段以从数据模板(项目)上的演示子布局中进行选择,您将在区域设置上遇到巨大问题。除此之外,您可以从代码中添加您的类,如下所示:

你知道你的布局,如果你在其中,你知道你的上下文项或你的页面定义项,基于模板名称(Context.Item.TemplateName == "Article") 放置你的 CSS 类

【讨论】:

  • 我已经更新了代码信息。我将每个字段称为 myDataSourceItem.Fields["Nav Bar Class"]。我必须先调用模板并检索所有字段吗?
  • 你的代码真的很乱,还是修吧。在您的用户控件的 page_load 中定义 public Item myDataSourceItem = your selected item;在标记中这样使用:

  • 因为"" 显示错误??我会测试它并让你知道结果。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多