PersonalizationProvider.DetermineInitialScope 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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。
例外狀況
webPartManager
為 null
。
與 webPartManager
關聯的頁面為 null
。
備註
這個方法會判斷目前的範圍是否應 Shared 為 或 User ,並提供控制項的參考 WebPartManager ,以及個人化生命週期中先前已載入的個人化狀態資訊。 實例會使用此 WebPartPersonalization 資訊來執行後續的個人化相關工作。
下列規則可用來判斷個人化範圍:
一開始假設範圍為 User 。
如果目前執行的使用者帳戶未通過驗證,範圍會設定為 Shared 。
如果目前正在執行的使用者帳戶經過驗證,則會依優先順序進行其他處理:
如果頁面處於回傳模式,頁面要求會包含來自先前呈現頁面的範圍資訊。 如果該範圍資訊指出 Shared 已使用範圍,則範圍會評估為 Shared 。
例如,如果目前執行的頁面控制項已從另一個頁面傳輸至它 (,例如,如果因為呼叫 Transfer 方法而發生控制項傳輸;請注意,此特定檢查不會針對跨頁面張貼) 發生,而且如果先前執行的頁面有實例,範圍就會設定為
Personalization.Scope
上 WebPartManager 一個 WebPartManager 實例的 屬性值。如果不符合先前的準則,則範圍會評估為目前 WebPartManager 控制項的 InitialScope 屬性值。
在先前的評估完成之後,如果範圍評估為 Shared 範圍,就會發生下列處理:
如果目前執行的使用者帳戶具有 EnterSharedScopeUserCapability 功能,範圍仍會設定為 Shared 。
如果目前執行的使用者帳戶沒有 EnterSharedScopeUserCapability 功能,則範圍會重設為 User 。
如果所有先前範圍評估的結果都是 Shared ,此結果會儲存為目前執行頁面上的隱藏欄位。 這是一種機制,讓頁面可以在後續回傳期間重新執行範圍評估。