使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

安装以下更新之一后,某些 SharePoint 页面将不呈现,并生成如下错误消息:

Web 部件错误: 此页面上的 Web 部件或 Web 表单控件无法显示或导入。 找不到该类型或未将其注册为安全类型。

原因

安装更新后,将在 SharePoint 2010 和 SharePoint 2013 中强制实施 ASP.NET 控件的允许列表。 如果未将 SharePoint 页面上的 Web 部件或控件添加到允许列表,则不会呈现页面。

解决方案

如果页面因使用不在 SafeControls 列表中的控件而未呈现,请按照以下步骤操作:

  1. 查看 SharePoint 统一日志记录服务 (ULS) 日志以查找 9s9ay 标记或包含“阻止具有属性的控件”的消息,该消息表明某控件已被阻止。

  2. 从错误消息中识别类型、命名空间和程序集强名称。

    • 示例 1

    如果有以下错误信息:

    "The type Contoso.Customizations.WebPartControl, Contoso.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f8f11d50a3a could not be found or it is not registered as safe."

    Type = "WebPartControl"

    Namespace = "Contoso.Customizations"

    Assembly strong name = "Contoso.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f8f11d50a3a"

    • 示例 2

    如果有以下错误信息:

    "Blocking control with property traversal markup. [tagName: SharePoint:WebPartControl][propName: propName1][type: typeName1]"

    Type = "WebPartControl" (not "typeName1")

    您可以通过查询类型名称在 Microsoft Docs 中找到命名空间和程序集数据。

  3. 如 SafeControls 元素(解决方案)中所述,将给定类型、命名空间和程序集强名称的新 SafeControls 元素添加到 configuration/SharePoint/SafeControls 元素下的 Web.config 文件,然后将 Safe 属性设置为 TRUE

有关 SafeControls 元素中属性值格式的更多信息,请参阅在程序包设计器中标记 SafeControls步骤 12 中的表格。

替代方法

如果您有许多不安全的控件,则可以按照以下步骤解决此问题:

  1. configuration/SharePoint 元素下的 Web.config 文件中编辑 SafeMode 元素。

  2. 添加一个值为 TrueControlCompatMode 属性。

警告

我们不建议您采用这种解决方法,因为这样会允许运行不安全的 ASP.net 控件。

Content Idea RequestCONTENT IDEA REQUEST 120896
Author: secure
Writer: v-weizhu
Tech Reviewer: qingliu; gli; mswann
Editor: v-jesits

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×