问题
When I click tools in CMSDesk I get an "Server Error in Application" errir I was able to solve this error in Kentico 7.0 as documented here
However i now have the same error in a 7.31 installation.
The event log is
Event ID: 77
Event type: Error
Event time: 5/2/2013 10:27:08 PM
Source: Application_Error
Event code: EXCEPTION
User ID: 53
User name: administrator
IP address: ::1
Description: Message: Multiple controls with the same ID 'bRecentDocs' were found. FindControl requires that controls have unique IDs.
Stack Trace:
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
at CMS.ExtendedControls.ScrollPanel.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean
includeStagesAfterAsyncPoint)
Site name: new2
Machine name: RN7
Event URL: /KenticoCMS7E/CMSModules/MyDesk/mainMenu.aspx
URL referrer: http://localhost/KenticoCMS7E/CMSModules/MyDesk/Default.aspx
User agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
I know that the problem is in the database because if I switch to a different database there is no problem.
[Update] If I run the application the last piece of code that I can see in the debugger before the crash is in In CMSAdminControls_UI_UniMenu_UniMenu
/// <summary>
/// Register scripts
/// </summary>
protected override void OnPreRender(EventArgs e)
{
ScriptHelper.RegisterJQuery(Page);
ScriptHelper.RegisterScriptFile(Page, "~/CMSAdminControls/UI/UniMenu/UniMenu.js");
base.OnPreRender(e);
}
Kentico support confirm the problem is in the database and are sending me a fix.
回答1:
Go to CMS Site Manager -> Development -> Modules. Edit 'Tools' and go to User interface tab. Examine all nodes - Look at their code names and check if some of them isn't equal to 'RecentDocs'. This node is by default under 'My Desk' module under Documents & Objects node so I don't know why tools tab tries to load it.
来源:https://stackoverflow.com/questions/16370224/server-error-in-application-kentico-7-31