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


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 событие, чтобы определить, был ли изменен пользовательский объект, и продолжить автоматическое сохранение измененных объектов и отменить автоматическое сохранение, если объекты не были изменены.

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

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

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

Имя Описание
GetMethodInfo(Delegate)

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

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

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