Freigeben über


PersonalizationProvider.DetermineInitialScope Methode

Definition

Bestimmt, ob der ursprüngliche Personalisierungsbereich der Shared-Bereich oder der User-Bereich sein soll.

public:
 virtual System::Web::UI::WebControls::WebParts::PersonalizationScope DetermineInitialScope(System::Web::UI::WebControls::WebParts::WebPartManager ^ webPartManager, System::Web::UI::WebControls::WebParts::PersonalizationState ^ loadedState);
public virtual System.Web.UI.WebControls.WebParts.PersonalizationScope DetermineInitialScope (System.Web.UI.WebControls.WebParts.WebPartManager webPartManager, System.Web.UI.WebControls.WebParts.PersonalizationState loadedState);
abstract member DetermineInitialScope : System.Web.UI.WebControls.WebParts.WebPartManager * System.Web.UI.WebControls.WebParts.PersonalizationState -> System.Web.UI.WebControls.WebParts.PersonalizationScope
override this.DetermineInitialScope : System.Web.UI.WebControls.WebParts.WebPartManager * System.Web.UI.WebControls.WebParts.PersonalizationState -> System.Web.UI.WebControls.WebParts.PersonalizationScope
Public Overridable Function DetermineInitialScope (webPartManager As WebPartManager, loadedState As PersonalizationState) As PersonalizationScope

Parameter

webPartManager
WebPartManager

Der WebPartManager, der die Personalisierungsinformationen verwaltet.

loadedState
PersonalizationState

Die Personalisierungszustandsinformationen.

Gibt zurück

Ein PersonalizationScope, der angibt, ob der aktuelle Personalisierungsbereich User oder Shared ist.

Ausnahmen

webPartManager ist null.

Die dem webPartManager zugeordnete Seite ist null.

Hinweise

Diese Methode bestimmt, ob der aktuelle Bereich oder sein Shared soll, wobei ein Verweis auf ein WebPartManager Steuerelement und die Personalisierungsstatusinformationen angegeben werden, die bereits aus einem früheren Personalisierungslebenszyklus geladen Userwurden. Diese Informationen werden von einem WebPartPersonalization instance für nachfolgende Personalisierungsaufgaben verwendet.

Die folgenden Regeln werden verwendet, um den Personalisierungsbereich zu bestimmen:

  • Es wird zunächst davon ausgegangen, dass der Bereich ist User.

  • Wenn das derzeit ausgeführte Benutzerkonto nicht authentifiziert ist, wird der Bereich auf Sharedfestgelegt.

  • Wenn das aktuell ausgeführte Benutzerkonto authentifiziert wird, erfolgt eine zusätzliche Verarbeitung in der Reihenfolge der Rangfolge:

    • Wenn sich die Seite im Postbackmodus befindet, enthält die Seitenanforderung Bereichsinformationen aus einem vorherigen Rendering der Seite. Wenn diese Bereichsinformationen angeben, dass Shared der Bereich verwendet wurde, wird der Bereich als Sharedausgewertet.

    • Wenn die aktuell ausgeführte Seite das Steuerelement von einer anderen Seite an sie übertragen hat (z. B. wenn die Übertragung des Steuerelements aufgrund des Aufrufs der Transfer -Methode erfolgt ist; beachten Sie, dass diese spezifische Überprüfung für die seitenübergreifende Veröffentlichung nicht erfolgt) und wenn die zuvor ausgeführte Seite eine WebPartManager instance hatte, wird der Bereich auf den Wert der Personalization.Scope Eigenschaft aus dem vorherigen WebPartManager instance festgelegt.

    • Wenn die vorherigen Kriterien nicht erfüllt sind, wird der Bereich mit dem Wert der InitialScope -Eigenschaft für das aktuelle WebPartManager Steuerelement ausgewertet.

Nachdem die vorherigen Auswertungen vorgenommen wurden und der Bereich als Shared Bereich ausgewertet wird, erfolgt die folgende Verarbeitung:

  • Wenn das derzeit ausgeführte Benutzerkonto über die EnterSharedScopeUserCapability -Funktion verfügt, bleibt der Bereich auf Sharedfestgelegt.

  • Wenn das derzeit ausgeführte Benutzerkonto nicht über die EnterSharedScopeUserCapability -Funktion verfügt, wird der Bereich auf Userzurückgesetzt.

  • Wenn das Ergebnis aller vorherigen Bereichsauswertungen lautet Shared, wird dieses Ergebnis als ausgeblendetes Feld auf der aktuell ausgeführten Seite gespeichert. Dies ist der Mechanismus, mit dem eine Seite die Bereichsauswertung während nachfolgenden Postbacks wiedergeben kann.

Gilt für: