重复控件id会导致异常

本文关键字:异常 id 控件 | 更新日期: 2023-09-27 18:13:41

我最近发布了一些代码到我们的生产网站,我注意到IIS记录了一些错误,异常文本为:

发现多个具有相同ID '_ffffca417ddfd512'的控件。FindControl要求控件有惟一的id。

我现在没有堆栈跟踪。该页面大部分是静态内容,只有几个链接按钮和一堆用户控件。它还使用了Sitecore 6.0 CMS框架(它是一个内容项)。我为用户控件和页面(布局)禁用了。net缓存,这似乎已经修复了它,但网站很忙,我想有一些缓存层。

我的问题是这是一个已知的问题在sitecore?而且,我应该只在页面级缓存还是在站点核中的控件级缓存?

重复控件id会导致异常

这似乎不是Sitecore特有的问题- http://support.microsoft.com/kb/834608

如果您正在使用它,请关闭ASP.net输出缓存并使用Sitecore缓存,或者内联:

<sc:Sublayout runat="server" runat="server" Cacheable="true" VaryByData="true"/>

…或…

<sc:XslFile runat="server" runat="server" runat="server" Cacheable="true" VaryByData="true"/>

…或者在模板或项级别的表示绑定中,或者在子布局或呈现定义项上。在所有三个位置都可以使用相同的缓存选项。

在子布局(控件)级别缓存,因为它们可以跨页面重用。假设您尽可能多地利用子布局,那么这应该可以满足动态数据的缓存需求。

从Sitecore电子商务安装指南(Sitecore ecommerce Services 2.1and CMS 7.0 Rev:2013-10-17 page 12)

在某些情况下,特别是在高服务器负载期间,CMS内容编辑器可能会显示下面的错误信息:

发现多个具有相同ID的控件。FindControl要求控件具有惟一的id

解决方法:注释掉web中的以下处理器。配置文件:

<processor type="Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor, Sitecore.Client"/>

指示内容编辑或忽略当前项目的皮肤设置. 这些设置取自__Skin字段或ContentEditor的值。DefaultSkin设置。所有项目现在都将使用默认皮肤呈现,并且您不再看到错误信息

希望对大家有所帮助