如何找到缺少的Web部件?

时间:2010-05-20 15:46:20

标签: sharepoint web-parts sharepoint-2003 webpartpage

有人知道如何找到导致此错误的违规网页部分吗?

“此Web部件页面上的Web部件或Web窗体控件无法显示或导入,因为它未在此站点上注册为安全。”

我继承了一个使用自定义Web部件的旧SharePoint 2003门户网站。

我知道这个错误意味着什么。我也知道每个Web部件都必须安装并在web.config中注册为安全。问题是我不知道缺少哪一个。 当我尝试在FrontPage中打开页面时,我得到了同样的错误。

6 个答案:

答案 0 :(得分:1)

在QueryString中使用contents = 1来禁用/删除导致错误的页面的WebParts。

答案 1 :(得分:1)

stsadm.exe -o enumallwebs -includewebparts

http://sharepointreporter.wordpress.com/

需要更新到Sp2我相信,此命令可用。有问题的Web部件将在结果列表中显示为“Missing”。

答案 2 :(得分:0)

试试这个:

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

它应该为您提供一些解决问题的线索。基本上你有一个没有标记为安全的控件,它是失败的。您最有可能将其配置为可行,但上面的链接还有其他可能的解决方案。

答案 3 :(得分:0)

您的网址中的

只是附加内容= 1。这将为您提供所有部署的webpart。现在,您可以继续删除每个webpart以查找导致问题的部分(确保您知道要添加Web部件)。

例如:如果网址为http://localhost:9000/default.aspx,请尝试使用http://localhost:9000?contents=1

或者,尝试创建一个新的webpart页面,添加实际页面上的Web部件,并检查哪个部件导致问题。这样可以避免更改实际页面。

希望这有帮助。

答案 4 :(得分:0)

转到本机的事件查看器,您将能够看到错误条目。在大量条目中,您必须找到与您相关的条目,您将能够看到sharepoint站点尝试加载但未通过的webpart的名称。如果您将在事件查看器中阅读错误条目的完整描述,它将为您提供webpart的版本甚至PublicKey令牌。

我希望这会有所帮助!!!

答案 5 :(得分:0)

我刚刚在MSDN上提出了相同的答案:

这个stsadm帮助我找到了以任何方式引用webpart的位置:

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

然后您可以看到Web部件列在某个<Web Id=... Url=...> XML节点下,即您知道“罪魁祸首”网站。

那时,我找到了一些被遗忘的参考资料的原因:

  • webpart用于罪魁祸首网站的某个子网站,子网站在快速列表或顶栏中隐藏

  • webpart已从罪魁祸首网站中删除,但它仍然位于“网站集回收站”中。您可以通过转到普通网站回收站来访问它,然后在顶部栏描述中查找其链接(“使用此页面还原项目......”)。顺便说一句,这个网站集回收站本身有两个视图:一定要检查它们。

在这两种情况下,我都通过使用SharePoint Manager浏览罪魁祸首网站获得了一些帮助。有了这个,我可以很容易地发现一个被遗忘的子网站的存在,以及这个“二级回收站”的存在。

HTH