Как найти отсутствующую веб-часть?
Кто-нибудь знает, как найти нарушающую веб-часть, которая вызывает эту ошибку?
"Веб-часть или элемент управления веб-формы на этой странице веб-части не могут быть отображены или импортированы, поскольку они не зарегистрированы на этом сайте как безопасные".
Я унаследовал старый сайт портала SharePoint 2003, который использует пользовательские веб-части.
Я знаю, что означает эта ошибка. Я также знаю, что каждая веб-часть должна быть установлена и зарегистрирована как безопасная в web.config. Проблема в том, что я не знаю, какой из них отсутствует. Я получаю ту же ошибку, когда пытаюсь открыть страницу в FrontPage.
6 ответов
Зайдите в Event Viewer машины, и вы сможете увидеть сообщения об ошибках. Из множества записей вы должны найти записи, связанные с вами, и вы сможете увидеть названия веб-частей, которые сайт sharepoint пытается загрузить, но не удается. Если вы прочитаете полное описание записи об ошибке в средстве просмотра событий, она предоставит вам версию и даже токен PublicKey веб-части.
Надеюсь, это поможет!!!
Используйте content =1 в QueryString, чтобы отключить / удалить WebParts со страницы, которая вызывает ошибки.
stsadm.exe -o enumallwebs -includewebparts
http://sharepointreporter.wordpress.com/
Мне кажется, требуется обновление до Sp2, чтобы эта команда была доступна. Проблемные веб-части будут отображаться как отсутствующие в результирующем списке.
В вашем URL просто добавьте контент =1. Это даст вам все веб-части, которые развернуты. Теперь вы можете продолжать удалять каждую веб-часть, чтобы определить, какая из них вызывает проблему (убедитесь, что вы знаете, как добавить веб-части обратно).
Например: если URL-адрес - http://localhost:9000/default.aspx, попробуйте http://localhost:9000/?contents=1
Или попробуйте создать новую страницу веб-части, добавьте веб-части, которые есть на вашей реальной странице, и проверьте, какая из них вызывает проблему. Это позволит избежать изменений на реальной странице.
Надеюсь это поможет.
Я только что предложил этот же ответ на MSDN:
Этот stsadm помог мне найти ссылку на веб-часть:
stsadm -o enumallwebs -includewebparts > C:\temp\somelog.txt
Тогда вы можете увидеть, что веб-часть указана под некоторыми <Web Id=... Url=...>
XML-узел, то есть вы знаете "виновника" веб-сайта.
В этот момент я нашел несколько причин для этих забытых ссылок:
веб-часть используется на каком-либо под-сайте веб-сайта-виновника, а этот сайт скрыт от быстрого списка или верхней панели
веб-часть была удалена с веб-сайта виновника, но все еще находится в "корзине семейства сайтов". Вы можете достичь этого, перейдя в обычную корзину веб-сайта, а затем найдите ее ссылку в описании верхней панели ("Используйте эту страницу, чтобы восстановить элементы, которые..."). Кстати, эта корзина семейства сайтов сама имеет два представления: обязательно проверьте их оба.
В обоих случаях я получил некоторую помощь, просматривая веб-сайт виновника с помощью SharePoint Manager. С этим я мог легко обнаружить существование забытого дочернего сайта, а также существование этой "корзины второго уровня".
НТН
Попробуйте прочитать это:
http://www.bluedoglimited.com/SharePointThoughts/ViewPost.aspx?ID=189
Это должно дать вам некоторые подсказки для решения проблемы. По сути, у вас есть элемент управления, который не помечен как безопасный и не работает. Скорее всего, вы можете настроить его на работу, но ссылка выше имеет другие возможные решения.