EditorPart.SyncChanges Метод

Определение

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

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 элемент управления создает коллекцию связанных EditorPart элементов управления (в данном случае в коллекции имеется только один элемент управления, именованный TextDisplayEditorPart EditorPart в коллекции) в реализации CreateEditorParts метода. TextDisplayWebPart Этот метод выполняется, когда 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 элемента управления.

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

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