หน้า SharePoint ไม่แสดงเมื่อใช้ตัวควบคุมที่ไม่ปลอดภัย

อาการ

หลังจากที่คุณติดตั้งการอัปเดตต่อไปนี้อย่างใดอย่างหนึ่งหน้า SharePoint จะไม่แสดงและสร้างข้อความแสดงข้อผิดพลาดเช่นต่อไปนี้: 

ข้อผิดพลาดของ web Part: Web Part หรือตัวควบคุมฟอร์มบนเว็บบนหน้านี้ไม่สามารถแสดงหรือนำเข้าได้ ไม่พบชนิดหรือไม่ได้ลงทะเบียนเป็นเซฟ

สาเหตุ

รายการอนุญาตของตัวควบคุม ASP.NET จะถูกบังคับใช้ใน SharePoint ๒๐๑๐และ SharePoint ๒๐๑๓หลังจากที่คุณติดตั้งการอัปเดต ถ้า web part หรือตัวควบคุมบนหน้า SharePoint ไม่ได้ถูกเพิ่มลงในรายการอนุญาตหน้าจะไม่แสดง

การแก้ไข

ถ้าหน้าไม่แสดงอีกต่อไปเนื่องจากมีการใช้ตัวควบคุมที่ไม่ได้อยู่ในรายการ SafeControls ให้ทำตามขั้นตอนต่อไปนี้:

  1. ตรวจทานแฟ้มบันทึกของ SharePoint Unified LOG Service (ULS)เพื่อค้นหาแท็ก9s9ayหรือข้อความที่มี "ตัวควบคุมการบล็อกด้วยคุณสมบัติ" ที่ระบุว่าตัวควบคุมถูกบล็อก

  2. ระบุชื่อชนิด namespace และแอสเซมบลีที่คาดเดาได้จากข้อความแสดงข้อผิดพลาด 

    • ตัวอย่างที่1

    ได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: 

    "ชนิด Contoso WebPartControl, Contoso WebParts, เวอร์ชัน = 1.0.0.0, วัฒนธรรม = กลาง, PublicKeyToken = b03f5f8f11d50a3a ไม่สามารถค้นหาได้หรือไม่ได้ลงทะเบียนเป็นปลอดภัย"

    พิมพ์ = "WebPartControl" Namespace = "Contoso กำหนดเอง" ชื่อที่รัดกุมของแอสเซมบลี = "Contoso WebParts, เวอร์ชัน = 1.0.0.0, วัฒนธรรม = กลาง, PublicKeyToken = b03f5f8f11d50a3a"

    • ตัวอย่างที่2

    ได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

    "ตัวควบคุมการบล็อกที่มีการมาร์กอัป traversal คุณสมบัติ [tagName: SharePoint:WebPartControl][propName: propName1][type: typeName1]"

    พิมพ์ = "WebPartControl" (ไม่ใช่ "typeName1") คุณสามารถค้นหาข้อมูล namespaces และแอสเซมบลีใน เอกสาร Microsoftได้โดยการทำแบบสอบถามชื่อชนิด

  3. เพิ่มองค์ประกอบSafeControlsใหม่สำหรับชนิดที่กำหนด namespace และชื่อแอสเซมบลีที่คาดเดาได้ในไฟล์ web.config ภายใต้องค์ประกอบการกำหนดค่า/SharePoint/SafeControlsตามที่อธิบายไว้ในองค์ประกอบ SafeControls (โซลูชัน)แล้วตั้งค่าแอตทริบิวต์ที่ปลอดภัยเป็นTRUE

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบของค่าแอตทริบิวต์ในองค์ประกอบSafeControlsให้อ้างอิงไปยังตารางในขั้นตอนที่12ในการทำเครื่องหมายตัวควบคุมที่ปลอดภัยในตัวออกแบบแพคเกจ.

วิธีแก้ไขปัญหาชั่วคราว

ฉันf คุณมีตัวควบคุมที่ไม่ปลอดภัยมากนักคุณสามารถแก้ไขปัญหานี้ได้โดยทำตามขั้นตอนต่อไปนี้:

  1. แก้ไของค์ประกอบSafeModeในไฟล์ web.config ภายใต้องค์ประกอบของการกำหนดค่า/SharePoint

  2. เพิ่มแอตทริบิวต์ControlCompatModeที่มีค่าเป็นTrue

ข้อควรระวัง

เราไม่แนะนำให้ใช้วิธีแก้ไขปัญหาชั่วคราวนี้เนื่องจากอนุญาตให้มีการเรียกใช้ตัวควบคุม ASP.net ที่ไม่ปลอดภัย

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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Microsoft Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×