Как найти отсутствующую веб-часть? - PullRequest
1 голос
/ 20 мая 2010

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

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

Я унаследовал старый сайт портала SharePoint 2003, который использует пользовательские веб-части.

Я знаю, что означает эта ошибка. Я также знаю, что каждая веб-часть должна быть установлена ​​и зарегистрирована как безопасная в web.config. Проблема в том, что я не знаю, какой из них отсутствует. Я получаю ту же ошибку при попытке открыть страницу в FrontPage.

Ответы [ 6 ]

1 голос
/ 12 июля 2011
stsadm.exe -o enumallwebs -includewebparts

http://sharepointreporter.wordpress.com/

Требуется обновление до Sp2, я полагаю, чтобы эта команда была доступна.Проблемные веб-части будут отображаться как «отсутствующие» в результирующем списке.

1 голос
/ 20 мая 2010

Используйте содержимое = 1 в QueryString, чтобы отключить / удалить WebParts со страницы, которая вызывает ошибки.

0 голосов
/ 30 сентября 2011

Я только что предложил этот же ответ на MSDN :

Этот stsadm помог мне найти ссылку на веб-часть:

stsadm -o enumallwebs -includewebparts > C:\temp\somelog.txt

Тогда вы увидите, что веб-часть указана в каком-то <Web Id=... Url=...> узле XML, то есть вы знаете веб-сайт «виновника».

В этот момент я нашел несколько причин для этих забытых ссылок:

  • веб-часть используется на каком-либо под-сайте сайта-виновника, и этот сайт скрыт от быстрого списка или верхней панели

  • веб-часть была удалена с веб-сайта виновника, но все еще находится в «корзине семейства сайтов». Вы можете достичь этого, перейдя в обычную корзину веб-сайта, а затем найдите ее ссылку в описании верхней панели («Используйте эту страницу, чтобы восстановить элементы, которые ...»). Кстати, эта корзина семейства сайтов сама имеет два представления: обязательно проверьте их оба.

В обоих случаях я получил некоторую помощь, просматривая веб-сайт виновника с помощью SharePoint Manager. С этим я мог легко обнаружить существование забытого дочернего сайта, а также существование этой "корзины второго уровня".

НТН

0 голосов
/ 29 мая 2010

Зайдите в Event Viewer машины, и вы сможете увидеть сообщения об ошибках. Из множества записей вы должны узнать связанные с вами записи, и вы сможете увидеть названия веб-частей, которые сайт sharepoint пытается загрузить, но не удается. Если вы прочитаете полное описание записи об ошибке в средстве просмотра событий, она также предоставит вам версию и даже токен PublicKey веб-части.

Надеюсь, это поможет !!!

0 голосов
/ 24 мая 2010

в вашем URL просто добавьте контент = 1. Это даст вам все веб-части, которые развернуты. Теперь вы можете продолжать удалять каждую веб-часть, чтобы определить, какая из них вызывает проблему (убедитесь, что вы знаете, как добавить веб-части обратно).

Например: если Url равен http://localhost:9000/default.aspx,, попробуйте с http://localhost:9000? Contents = 1

Либо попробуйте создать новую страницу веб-части, добавить веб-части, которые есть на вашей реальной странице, и проверить, какая из них вызывает проблему. Это позволит избежать изменений на реальной странице.

Надеюсь, это поможет.

0 голосов
/ 20 мая 2010

Попробуйте прочитать это:

http://www.bluedoglimited.com/SharePointThoughts/ViewPost.aspx?ID=189

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

...