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


EditorPart.SyncChanges Метод

Определение

Извлекает значения свойств из элемента управления для связанного WebPartEditorPart элемента управления.

public:
 abstract void SyncChanges();
public abstract void SyncChanges();
abstract member SyncChanges : unit -> unit
Public MustOverride Sub SyncChanges ()

Примеры

В следующем примере кода показано, как реализовать SyncChanges метод в пользовательском EditorPart элементе управления. Полный код, необходимый для выполнения примера, см. в разделе EditorPart "Пример" обзора класса.

Первая часть примера кода демонстрирует реализацию SyncChanges метода в пользовательском EditorPart классе с именем TextDisplayEditorPart. Этот метод получает ссылку на связанный TextDisplayWebPart элемент управления с помощью WebPartToEdit свойства. Затем он получает значение TextDisplayWebPart.FontStyle свойства и обновляет элемент, выбранный в раскрывающемся списке (на который ссылается TextDisplayEditorPart.PartContentFontStyle свойство) пользовательского EditorPart элемента управления.

public override void SyncChanges()
{
  TextDisplayWebPart part = 
    (TextDisplayWebPart)WebPartToEdit;
  String currentStyle = part.FontStyle;

  // Select the current font style in the drop-down control.
  foreach (ListItem item in PartContentFontStyle.Items)
  {
    if (item.Value == currentStyle)
    {
      item.Selected = true;
      break;
    }
  }
}
Public Overrides Sub SyncChanges()
  Dim part As TextDisplayWebPart = CType(WebPartToEdit, _
                                         TextDisplayWebPart)
  Dim currentStyle As String = part.FontStyle

  ' Select the current font style in the drop-down control.
  Dim item As ListItem
  For Each item In PartContentFontStyle.Items
    If item.Value = currentStyle Then
      item.Selected = True
      Exit For
    End If
  Next item

End Sub

Вторая часть примера кода показывает, как связанный WebPart элемент управления TextDisplayWebPartсоздает коллекцию связанных EditorPart элементов управления (в данном случае в коллекции существует только один EditorPart элемент управления, именованный TextDisplayEditorPart в коллекции) в реализации CreateEditorParts метода. Этот метод выполняется при входе TextDisplayWebPart элемента управления в режим редактирования.

public override EditorPartCollection CreateEditorParts()
{
  ArrayList editorArray = new ArrayList();
  TextDisplayEditorPart edPart = new TextDisplayEditorPart();
  edPart.ID = this.ID + "_editorPart1";
  editorArray.Add(edPart);
  EditorPartCollection editorParts = 
    new EditorPartCollection(editorArray);
  return editorParts;
}

public override object WebBrowsableObject
{
  get { return this; }
}
Public Overrides Function CreateEditorParts() _
                            As EditorPartCollection
  Dim editorArray As New ArrayList()
  Dim edPart as New TextDisplayEditorPart()
  edPart.ID = Me.ID & "_editorPart1"
  editorArray.Add(edPart)
  Dim editorParts As New EditorPartCollection(editorArray)
  Return editorParts

End Function

Public Overrides ReadOnly Property WebBrowsableObject() _
                                    As Object
  Get
    Return Me
  End Get
End Property

Комментарии

Метод SyncChanges является критически важным методом EditorPart элемента управления. Он определяется как абстрактный метод в EditorPart классе и должен быть реализован наследуемыми элементами управления. Целью метода является получение текущих значений из WebPart элемента управления, на который ссылается в WebPartToEdit свойстве, и обновление полей в EditorPart элементе управления с этими значениями, чтобы пользователь смог изменить их.

Метод SyncChanges вызывается всякий раз, когда значения в связанном WebPart элементе управления могли измениться. Для каждого EditorPart элемента управления зона, EditorZoneBase содержащая элемент управления, вызывает SyncChanges метод сразу после вызова ApplyChanges метода, чтобы значения в EditorPart элементе управления всегда синхронизированы со значениями в связанном WebPart элементе управления. Другой случай, когда SyncChanges метод вызывается, WebPart когда элемент управления вводит режим редактирования.

Замечание

Метод SyncChanges не вызывается после ApplyChanges метода, если этот метод возвращается false, так как в этом случае произошла ошибка.

Примечания для тех, кто реализует этот метод

Класс, производный от EditorPart класса, должен реализовать SyncChanges() метод. Реализованный метод получает ссылку на связанный элемент управления с помощью WebPartToEdit свойства, а затем обновляет EditorPart элемент управления со значениями свойств из связанного WebPart элемента управления.

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

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