We ran into the problem when upgrading SharePoint portal with custom solution from 2010 to 2013 version using database attach procedure.
Both problems we describe below have connection with strange controls id's. We have tried installing our custom solution to new web application and created new site collection with new content DB and it did not produce any of those errors. Problem occured only in web application when we updated SP2010 content database to 2013 version.
Looking deeper into problem, we found out that error occurs due to missing form id in _spNavigateHierarcy function:
Page source reveals that form id of page is not standard »aspnetform« but strange control id:
Problem2: People picker OK button is disabled even if browsed user is selected on people selection popup. Editor cannot click on OK button and add user to selection:
Update procedure we used:
a) Create new Sharepoint 2013 web application in classic autentication mode:
New-SPWebApplication -name "WebAppMigration" -Port 80 -ApplicationPool "MigrationAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "DOMAIN\username")
b) Install custom solutions in 2010 compatibility mode:
Add-SPSolution -LiteralPath "C:\WSP\Solution.wsp" Install-SPSolution -Identity Solution.wsp -GACDeployment -CompatibilityLevel 14 –Force
c) Add safe controls in web.config
d) Create new database on SQL Server and add farm account with
e) Restore Sharepoint 2010 content database into created database
f) Test content database:
Test-SPContentDatabase -Name "contentdatabase" -WebApplication "webapplicationurl"
g) Mount content database:
Mount-SPContentDatabase -Name " contentdatabase " -DatabaseServer "databaseserver" -WebApplication "webapplicationurl"
h) Uninstall custom solutions:
Uninstall-SPSolution -Identity Solution.wsp Remove-SPSolution -Identity Solution.wsp
i) Install custom solution in 2013 compatibility mode:
Add-SPSolution -LiteralPath "C:\WSP\Solution.wsp" Install-SPSolution -Identity Solution.wsp -GACDeployment -Force
j) Upgrade site collection
k) Convert application into claims:
Convert-SPWebApplication -Identity " webapplicationurl " –From Legacy -To Claims -RetainPermissions