Поделиться через


ProfileAutoSaveEventHandler Делегат

Определение

Представляет метод, обрабатывающий событие ProfileAutoSaving объекта ProfileModule.

public delegate void ProfileAutoSaveEventHandler(System::Object ^ sender, ProfileAutoSaveEventArgs ^ e);
public delegate void ProfileAutoSaveEventHandler(object sender, ProfileAutoSaveEventArgs e);
type ProfileAutoSaveEventHandler = delegate of obj * ProfileAutoSaveEventArgs -> unit
Public Delegate Sub ProfileAutoSaveEventHandler(sender As Object, e As ProfileAutoSaveEventArgs)

Параметры

sender
Object

Объект ProfileModule, сгенерировавший событие ProfileAutoSaving.

e
ProfileAutoSaveEventArgs

Объект ProfileAutoSaveEventArgs, содержащий данные события.

Примеры

В следующем примере кода показано ProfileAutoSaving событие, включенное в файл Global.asax для приложения 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

Комментарии

Делегат ProfileAutoSaveEventHandler определяется для ProfileAutoSaving события ProfileModule класса . Вы можете получить доступ к ProfileAutoSaving событию ProfileModule класса в файле Global.asax для приложения ASP.NET, как показано в примере для этого раздела. Событие ProfileAutoSaving возникает в конце выполнения страницы, если AutomaticSaveEnabled свойство имеет значение true.

Метод Save автоматически определяет, были ли изменены свойства, состоящие из примитивных типов, строк или DateTime объектов, путем проверки IsDirty значения свойства для каждого из них SettingsPropertyValue в профиле пользователя. Однако метод не может явно определить, Save был ли изменен пользовательский класс. Вы можете обработать ProfileAutoSaving событие, чтобы определить, был ли изменен пользовательский объект, и продолжить автоматическое сохранение для измененных объектов и отменить автоматическое сохранение, если объекты не были изменены.

Чтобы отменить операцию автоматического сохранения профиля, присвойте свойству ContinueWithProfileAutoSave значение false в событии ProfileAutoSaving ; в противном случае задайте для свойства значение ContinueWithProfileAutoSavetrue.

На событие может быть несколько подписчиков ProfileAutoSaving . Будет ProfileModule использовать последнее значение, ContinueWithProfileAutoSave которому присвоено свойство . Поэтому рекомендуется явно задать ContinueWithProfileAutoSave свойство в ProfileAutoSaving событии независимо от того, отменяете или продолжаете автоматическое сохранение, так как может потребоваться перезаписать значение, заданное предыдущим подписчиком.

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.

Применяется к

См. также раздел