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


EditorPart.SyncChanges Метод

Определение

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

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

Примеры

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

В первой части примера кода демонстрируется реализация метода в пользовательском SyncChangesEditorPart классе с именем 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 элементов управления (в данном случае в коллекции есть только один EditorPart элемент управления с именемTextDisplayEditorPart) в своей реализации 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 элемента управления.

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

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