Симптоми
След като инсталирате една от следните актуализации, някои страници на SharePoint не се рендират и генерират съобщения за грешка, като например следните:
Грешка на уеб част: уеб част или контрола на уеб формуляр на тази страница не могат да бъдат показвани или импортирани. Типът не можа да бъде открит или не е регистриран като безопасен.
Причина
Списъкът с разрешени контроли на ASP.NET се прилага в SharePoint 2010 и SharePoint 2013, след като инсталирате актуализациите. Ако уеб части или контроли в страниците на SharePoint не се добавят към списъка с разрешени, страниците не се рендират.
Решение
Ако страниците вече не се рендират, защото използват контрола, която не е в списъка на SafeControls , изпълнете следните стъпки:
-
Преглед на регистрационните файлове на услугата за унифицирано регистриране на SharePoint (ULS) , за да намерите етикета на 9s9ay или съобщение, съдържащо "блокиращо управление със свойство", което означава, че дадена контрола е блокирана.
-
Идентифициране на типа, мястото за имена и събранието със силно име от съобщението за грешка.
-
Пример 1
Предвид следното съобщение за грешка:
"Типът contoso. customizations. WebPartControl, contoso. уеб части, version = 1.0.0.0, култура = неутрален, PublicKeyToken = b03f5f8f11d50a3a не могат да бъдат намерени или не е регистриран като безопасен."
Въведете = "WebPartControl" Пространство на имената = "contoso. customizations" Събранието е със силно име = "contoso. уеб части, version = 1.0.0.0, култура = неутрална; PublicKeyToken = b03f5f8f11d50a3a"
-
Пример 2
Предвид следното съобщение за грешка:
"Блокиране на контрола с коректура на свойството. [tagName: SharePoint:WebPartControl][propName: propName1][type: typeName1]"
Въведете = "WebPartControl" (не "typeName1") Можете да намерите имена на пространства и събрания в Microsoft Docs , като направите заявка за име на типа.
-
-
Добавете нов SafeControls елемент за дадения тип, пространство на имена и събрание със силно име към файла Web. config под елемента Configuration/SharePoint/SafeControls , както е описано в SafeControls Element (решение), а след това задайте безопасен атрибут на TRUE.
За повече информация относно формата на атрибутните стойности в елемента SafeControls , вижте таблицата в стъпка 12 при маркиране на безопасни контроли в пакета Designer.
Заобиколно решение
IАко имате много опасни контроли, можете да заобиколите този проблем, като изпълните следните стъпки:
-
Редактирайте елемента SafeMode във файла Web. config под елемента конфигурация/SharePoint .
-
Добавете атрибут ControlCompatMode , който има стойност TRUE.
Внимание
Не препоръчваме това заобиколно решение, тъй като позволява да се изпълняват опасни контроли за ASP.net.
Content Idea Request: CONTENT IDEA REQUEST 120896
Author: secure
Writer: v-weizhu
Tech Reviewer: qingliu; gli; mswann
Editor: v-jesits