EditorPart.SyncChanges Método

Definição

Recupera os valores das propriedades de um WebPart controlo para o seu controlo associado EditorPart .

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

Exemplos

O seguinte exemplo de código demonstra como implementar o SyncChanges método num controlo personalizado EditorPart . Para o código completo necessário para executar o exemplo, consulte a secção Exemplo da EditorPart visão geral da classe.

A primeira parte do exemplo de código demonstra a implementação do SyncChanges método na classe personalizada EditorPart chamada TextDisplayEditorPart. Este método obtém uma referência ao controlo associado TextDisplayWebPart usando a WebPartToEdit propriedade. Depois obtém o valor da TextDisplayWebPart.FontStyle propriedade e atualizam qual o item selecionado no controlo da lista suspensa (referenciado pela TextDisplayEditorPart.PartContentFontStyle propriedade) no controlo personalizado 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

A segunda parte do exemplo de código mostra como o controlo associado WebPart , TextDisplayWebPart, cria uma coleção de controlos associados EditorPart (neste caso, há apenas um EditorPart controlo nomeado TextDisplayEditorPart na coleção) na sua implementação do CreateEditorParts método. Este método é executado quando o TextDisplayWebPart controlo entra em modo de edição.

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

Observações

O SyncChanges método é crítico num EditorPart controlo. É definido como um método abstrato na EditorPart classe e deve ser implementado por controlos herdados. O objetivo do método é recuperar os valores atuais do WebPart controlo referenciado na WebPartToEdit propriedade e atualizar os campos do EditorPart controlo com esses valores para que o utilizador possa editá-los.

O SyncChanges método é chamado sempre que os valores no controlo associado WebPart podem ter mudado. Para cada EditorPart controlo, a EditorZoneBase zona que contém o controlo chama o SyncChanges método imediatamente após a ApplyChanges chamada do método, de modo que os valores no EditorPart controlo estejam sempre sincronizados com os valores do controlo associado WebPart . Outro caso em que o SyncChanges método é chamado é quando um WebPart controlo entra em modo de edição.

Note

O SyncChanges método não é chamado após o ApplyChanges método se este devolver false, porque nesse caso, ocorreu um erro.

Notas para Implementadores

Uma classe que deriva da EditorPart classe deve implementar o SyncChanges() método. O método implementado recebe uma referência ao controlo associado usando a WebPartToEdit propriedade e depois atualiza o EditorPart controlo com os valores das propriedades do controlo associado WebPart .

Aplica-se a

Ver também