-->

Server Error in Application Kentico 7.31

2019-09-18 23:59发布

问题:

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.



标签: kentico