Как найти отсутствующую веб-часть?

Кто-нибудь знает, как найти нарушающую веб-часть, которая вызывает эту ошибку?

"Веб-часть или элемент управления веб-формы на этой странице веб-части не могут быть отображены или импортированы, поскольку они не зарегистрированы на этом сайте как безопасные".

Я унаследовал старый сайт портала 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

Это должно дать вам некоторые подсказки для решения проблемы. По сути, у вас есть элемент управления, который не помечен как безопасный и не работает. Скорее всего, вы можете настроить его на работу, но ссылка выше имеет другие возможные решения.

Другие вопросы по тегам