Duplizierte Seiten in SharePoint werden nicht gerendert

Gilt für
SharePoint Server 2019 SharePoint Server 2016 SharePoint Foundation 2013 SP1 Microsoft SharePoint Foundation 2010 Service Pack 2

Symptome

Nachdem Sie eines der folgenden Updates installiert haben, werden einige duplizierte Seiten in Microsoft SharePoint nicht gerendert:

Beispielsweise werden Portalseiten von Microsoft Identity Manager (MIM) und einige benutzerdefinierte Seiten, die über die SharePoint-Lösung bereitgestellt werden, nicht gerendert.

Zusätzlich könnten Sie mit einem oder mehreren der folgenden Szenarien konfrontiert werden.

Szenario 1

Die blockierte duplizierte Seite zeigt eine der folgenden Fehlermeldungen an:

Hinweis

  • Das „autoeventwireup“-Attribut ist auf dieser Seite nicht zulässig.

  • Das „enablesessionstate“-Attribut ist auf dieser Seite nicht zulässig.

  • Codeblöcke sind in dieser Datei nicht zulässig.

  • Der Ereignishandler "OnSelectedIndexChanged" ist auf dieser Seite nicht zulässig.

    Hinweis Das Ereignis in der letzten Fehlermeldung kann auch ein anderes Ereignis sein, z. B. "OnClick".

Szenario 2

Die blockierte duplizierte Seite zeigt die folgende Fehlermeldung an:

Hinweis

UnsafeControlException: Ein Webpart oder Webformularsteuerelement auf dieser Seite kann nicht angezeigt oder importiert werden. Der Typ konnte nicht gefunden werden, oder er ist nicht als sicher registriert.

Szenario 3

Die blockierte duplizierte Seite zeigt die folgende Fehlermeldung an:

Hinweis

Die referenzierte Datei „/_layouts/somedirectory/affectedusercontrol.ascx“ ist auf dieser Seite nicht zulässig.

Ursache

Verwaiste Seiten werden im Dateisystem gespeichert. Die Sicherheitsstufe wird durch das Verbot serverseitiger Skripts und unsicherer Kontrollen verbessert. Das Rendern einer verwaisten Seite kann blockiert werden, wenn die folgenden Bedingungen erfüllt sind:

  • Die duplizierte Seite enthält Inline-Code oder serverseitiges Skript.
  • Der Code-Behind-Typ oder Webpart-Typ ist nicht als sicher registriert.

Lösung für Szenario 1

Um dieses Problem zu beheben, fügen Sie der Web.config-Datei unter dem Configuration/SharePoint/SafeMode/PageParserPaths-Element ein neues PageParserPath-Element hinzu, das über ein VirtualPath-Attribut verfügt.

Beispielsweise wird folgende Fehlermeldung angezeigt:

„Das Attribut ,autoeventwireup‘ ist auf dieser Seite nicht zulässig.“

In diesem Fall können Sie ein PageParserPath-Element wie folgt hinzufügen:


<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
    <PageParserPaths>
        <PageParserPath VirtualPath="/<relativepath>/page.aspx" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true"/>
    </PageParserPaths>
</SafeMode>

Wenn alle Seiten im selben virtuellen Verzeichnis entsperrt werden müssen, können Sie ein PageParserPath-Element wie folgt verwenden:


<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
    <PageParserPaths>
        <PageParserPath VirtualPath="/<relativepath>/*" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true" IncludeSubFolders="True"/>
    </PageParserPaths>
</SafeMode>

Hinweis

  • VirtualPath ist der Pfad der blockierten Seite.
  • VirtualPath muss auf eine Seite verweisen, die verwaist ist und von keinem Benutzer nicht gehostet werden kann, oder auf ein Verzeichnis, das eine solche Seite enthält.
  • VirtualPath muss auf eine Seite verweisen, die nicht auf eine andere Seite verweist, oder auf eine master Seite, die nicht gehostet werden kann, oder auf ein Verzeichnis, das keine solche Seite oder master Seite enthält.
  • DirectFileDependencies gibt die Anzahl zulässiger direkter Dateiabhängigkeiten an. Wenn Sie eine Fehlermeldung wie "Die Anzahl zulässiger direkter Dateiabhängigkeiten überschreitet den Grenzwert" erhalten, ändern Sie diesen Wert.

Problembehebung für Szenario 2

Um dieses Problem zu beheben, fügen Sie der Web.config-Datei unter dem Configuration/SharePoint/SafeControls-Element ein neues SafeControls-Element für den angegebenen Typ, Namespace und assembly starken Namen hinzu, wie unter SafeControls-Element (Solution) beschrieben. Legen Sie dann das Safe-Attribut auf TRUE fest.

Weitere Informationen zum Format der Attributwerte im SafeControls-Element finden Sie in der Tabelle in Schritt 12 unter „Markieren sicherer Steuerelemente im Paket-Designer“ in Gewusst wie: Markieren von Steuerelementen als sichere Steuerelemente.

Problembehebung für Szenario 3

Um dieses Problem zu beheben, fügen Sie der Web.config-Datei unter dem Configuration/SharePoint/SafeControls-Element ein neues SafeControls-Element hinzu, das das Src-Attribut verwendet.

Beispielsweise wird folgende Fehlermeldung angezeigt:

Die referenzierte Datei „/_layouts/somedirectory/affectedusercontrol.ascx“ ist auf dieser Seite nicht.

In diesem Fall können Sie das SafeControls-Element hinzufügen, wie in den folgenden Beispielen gezeigt:


< SafeControls>
    <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
</SafeControls>

< SafeControls><SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" /></SafeControls>