PersonalizationProvider.DetermineInitialScope Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
WebPartManager yang mengelola informasi personalisasi.
- loadedState
- PersonalizationState
Informasi status personalisasi.
Mengembalikan
Menunjukkan PersonalizationScope apakah cakupan personalisasi saat ini adalah User atau Shared.
Pengecualian
webPartManager
adalah null
.
Halaman yang terkait dengan webPartManager
adalah null
.
Keterangan
Metode ini menentukan apakah cakupan saat ini harus Shared atau User, diberikan referensi ke WebPartManager kontrol dan informasi status personalisasi yang telah dimuat dari sebelumnya dalam siklus hidup personalisasi. Informasi ini digunakan oleh WebPartPersonalization instans untuk tugas terkait personalisasi berikutnya.
Aturan berikut digunakan untuk menentukan cakupan personalisasi:
Cakupan diasumsikan awalnya adalah User.
Jika akun pengguna yang sedang dijalankan tidak diautentikasi, cakupan diatur ke Shared.
Jika akun pengguna yang sedang dijalankan diautentikasi, pemrosesan tambahan terjadi dalam urutan prioritas:
Jika halaman dalam mode postback, permintaan halaman berisi informasi cakupan dari penyajian halaman sebelumnya. Jika informasi cakupan tersebut menunjukkan bahwa Shared cakupan digunakan, maka cakupan mengevaluasi ke Shared.
Jika halaman yang sedang dijalankan memiliki kontrol yang ditransfer ke halaman lain (misalnya, jika transfer kontrol terjadi karena memanggil Transfer metode ; perhatikan bahwa pemeriksaan khusus ini tidak terjadi untuk posting lintas halaman), dan jika halaman yang dieksekusi sebelumnya memiliki WebPartManager instans, cakupan diatur ke nilai
Personalization.Scope
properti dari instans sebelumnya WebPartManager .Jika kriteria sebelumnya tidak terpenuhi, maka cakupan mengevaluasi ke nilai InitialScope properti untuk kontrol saat ini WebPartManager .
Setelah evaluasi sebelumnya dibuat, dan jika cakupan mengevaluasi ke Shared cakupan, pemrosesan berikut terjadi:
Jika akun pengguna yang sedang dijalankan memiliki EnterSharedScopeUserCapability kemampuan, cakupan tetap diatur ke Shared.
Jika akun pengguna yang sedang dijalankan tidak memiliki EnterSharedScopeUserCapability kemampuan, maka cakupan diatur ulang ke User.
Jika hasil dari semua evaluasi cakupan sebelumnya adalah Shared, hasil ini disimpan sebagai bidang tersembunyi pada halaman yang sedang dijalankan. Ini adalah mekanisme di mana halaman dapat memutar ulang evaluasi cakupan selama postback berikutnya.