PersonalizationProvider.DetermineInitialScope 方法

定義

決定初始個人化範圍應當是 Shared 還是 User 範圍。

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

參數

webPartManager
WebPartManager

WebPartManager,管理個人化資訊。

loadedState
PersonalizationState

個人化狀態資訊。

傳回

PersonalizationScope,指出目前的個人化範圍是 User 還是 Shared

例外狀況

webPartManagernull

webPartManager 關聯的頁面為 null

備註

這個方法會判斷目前的範圍是否應 Shared 為 或 User ,並提供控制項的參考 WebPartManager ,以及個人化生命週期中先前已載入的個人化狀態資訊。 實例會使用此 WebPartPersonalization 資訊來執行後續的個人化相關工作。

下列規則可用來判斷個人化範圍:

  • 一開始假設範圍為 User

  • 如果目前執行的使用者帳戶未通過驗證,範圍會設定為 Shared

  • 如果目前正在執行的使用者帳戶經過驗證,則會依優先順序進行其他處理:

    • 如果頁面處於回傳模式,頁面要求會包含來自先前呈現頁面的範圍資訊。 如果該範圍資訊指出 Shared 已使用範圍,則範圍會評估為 Shared

    • 例如,如果目前執行的頁面控制項已從另一個頁面傳輸至它 (,例如,如果因為呼叫 Transfer 方法而發生控制項傳輸;請注意,此特定檢查不會針對跨頁面張貼) 發生,而且如果先前執行的頁面有實例,範圍就會設定為 Personalization.ScopeWebPartManager 一個 WebPartManager 實例的 屬性值。

    • 如果不符合先前的準則,則範圍會評估為目前 WebPartManager 控制項的 InitialScope 屬性值。

在先前的評估完成之後,如果範圍評估為 Shared 範圍,就會發生下列處理:

  • 如果目前執行的使用者帳戶具有 EnterSharedScopeUserCapability 功能,範圍仍會設定為 Shared

  • 如果目前執行的使用者帳戶沒有 EnterSharedScopeUserCapability 功能,則範圍會重設為 User

  • 如果所有先前範圍評估的結果都是 Shared ,此結果會儲存為目前執行頁面上的隱藏欄位。 這是一種機制,讓頁面可以在後續回傳期間重新執行範圍評估。

適用於