ProfileModule.ProfileAutoSaving Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Występuje na końcu wykonywania strony, jeśli jest włączone automatyczne zapisywanie profilu.
public:
event System::Web::Profile::ProfileAutoSaveEventHandler ^ ProfileAutoSaving;
public event System.Web.Profile.ProfileAutoSaveEventHandler ProfileAutoSaving;
member this.ProfileAutoSaving : System.Web.Profile.ProfileAutoSaveEventHandler
Public Custom Event ProfileAutoSaving As ProfileAutoSaveEventHandler
Typ zdarzenia
Przykłady
Poniższy przykład kodu przedstawia ProfileAutoSaving zdarzenie zawarte w pliku Global.asax dla aplikacji ASP.NET.
public void Profile_ProfileAutoSaving(object sender, ProfileAutoSaveEventArgs args)
{
if (Profile.Cart.HasChanged)
args.ContinueWithProfileAutoSave = true;
else
args.ContinueWithProfileAutoSave = false;
}
Public Sub Profile_ProfileAutoSaving(sender As Object, args As ProfileAutoSaveEventArgs)
If Profile.Cart.HasChanged Then
args.ContinueWithProfileAutoSave = True
Else
args.ContinueWithProfileAutoSave = False
End If
End Sub
Uwagi
Zdarzenie ProfileAutoSaving jest wywoływane na końcu wykonywania strony, jeśli ProfileManager.AutomaticSaveEnabled właściwość ma wartość true
. Możesz uzyskać dostęp do ProfileAutoSaving zdarzenia ProfileModule klasy w pliku Global.asax dla aplikacji ASP.NET przy użyciu zdarzenia globalnego Profile_ProfileAutoSaving
, jak pokazano w przykładzie tego tematu.
Metoda SettingsBase.Save sprawdza IsDirty wartość właściwości dla każdego SettingsPropertyValue elementu w profilu użytkownika, aby określić, czy właściwości złożone z typów pierwotnych, ciągów lub DateTime obiektów zostały zmienione. Metoda Save nie może jawnie określić, czy klasa niestandardowa uległa zmianie. Za pomocą ProfileAutoSaving zdarzenia można określić, czy obiekt niestandardowy został zmieniony, a następnie kontynuować automatyczne zapisywanie dla zmodyfikowanych obiektów lub anulować automatyczne zapisywanie, jeśli nie zmodyfikowano żadnych obiektów.
Aby anulować operację automatycznego zapisywania profilu, ustaw ContinueWithProfileAutoSave właściwość na false
wartość w ProfileAutoSaving zdarzeniu. W przeciwnym razie ustaw ContinueWithProfileAutoSave właściwość na true
wartość .
Może istnieć wielu subskrybentów zdarzenia ProfileAutoSaving . Właściwość ProfileModule będzie używać ostatniej wartości, na którą jest ustawiona ContinueWithProfileAutoSave właściwość . W związku z tym zaleca się jawne ustawienie ContinueWithProfileAutoSave właściwości w ProfileAutoSaving przypadku anulowania lub kontynuowania automatycznego zapisywania, ponieważ może być konieczne zastąpienie wartości ustawionej przez wcześniejszego subskrybenta.