Stránky SharePointu sa nevykresľujú pri použití nebezpečných ovládacích prvkov

Vzťahuje sa na
SharePoint Server 2013 SP1 SharePoint Foundation 2013 SP1 Microsoft SharePoint Foundation 2010 Service Pack 2

Príznaky

Po inštalácii niektorej z nasledujúcich aktualizácií sa niektoré stránky SharePointu nevykreslia a zobrazia sa chybové hlásenia, napríklad takto:

Poznámka

Chyba webovej časti: Webovú časť alebo ovládací prvok webového formulára na tejto stránke nie je možné zobraziť ani importovať. Typ sa nepodarilo nájsť alebo nie je zaregistrovaný ako bezpečný.

Príčina

Zoznam povolených ovládacích prvkov ASP.NET sa v SharePointe 2010 a SharePointe 2013 vynúti po nainštalovaní aktualizácií. Ak sa webové časti alebo ovládacie prvky na stránkach SharePointu nepridajú do zoznamu povolených, stránky sa nevykreslia.

Riešenie

Ak sa už stránky nevykresľujú, pretože používajú ovládací prvok, ktorý nie je v zozname Bezpečné ovládacie prvky , postupujte takto:

  1. Skontrolujte denníky služby SharePoint Unified Logging Service (ULS) a vyhľadajte značku 9s9ay alebo správu obsahujúcu "Blokovanie ovládacieho prvku pomocou vlastnosti", ktoré označuje, že ovládací prvok je blokovaný.

  2. Z chybového hlásenia identifikujte typ, priestor názvov a silný názov zostavy.

    • Príklad 1

    Zobrazuje sa nasledujúce chybové hlásenie:
    Nepodarilo sa nájsť typ Contoso.Customizations.WebPartControl, Contoso.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f8f11d50a3a alebo nie je zaregistrovaný ako bezpečný."
    Type = "WebPartControl"

    Namespace = "Contoso.Customizations"

    Silný názov zostavy = "Contoso.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f8f11d50a3a"

    • Príklad 2

    Zobrazuje sa nasledujúce chybové hlásenie:
    "Blokovanie kontroly s prirážkami prechádzajúcich nehnuteľností. [tagName: SharePoint:WebPartControl][propName: propName1][type: typeName1]"
    Type = "WebPartControl" (nie "typeName1")

    Priestory názvov a údaje zostáv môžete vyhľadať v Microsoft Docs dotazovaním názvu typu.

  3. Pridajte nový prvok SafeControls pre daný typ, priestor názvov a silný názov zostavy do súboru Web.config v rámci prvku configuration/SharePoint/SafeControls, ako je popísané v prvku SafeControls (riešenie), a potom nastavte atribút Safe na hodnotu TRUE.

Ďalšie informácie o formáte hodnôt atribútov v prvku SafeControls nájdete v tabuľke v kroku 12 v téme Označenie bezpečných ovládacích prvkov v nástroji Package Designer.

Alternatívne riešenie

Ak máte veľa nebezpečných ovládacích prvkov, môžete tento problém obísť pomocou týchto krokov:

  1. Upravte prvok SafeMode v súbore Web.config v prvku configuration/SharePoint .
  2. Pridajte atribút ControlCompatMode s hodnotou True.

Upozornenie

Toto alternatívne riešenie neodporúčame, pretože umožňuje spustenie nebezpečných ovládacích prvkov ASP.net.