Partilhar via


EditorPart.SyncChanges Método

Definição

Recupera os valores de propriedade de um controle WebPart para o controle EditorPart associado.

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

Exemplos

O exemplo de código a seguir demonstra como implementar o SyncChanges método em um controle personalizado EditorPart . Para obter o código completo necessário para executar o exemplo, consulte a seção Exemplo da visão geral da EditorPart classe.

A primeira parte do exemplo de código demonstra a implementação do SyncChanges método na classe personalizada EditorPart chamada TextDisplayEditorPart. Esse método obtém uma referência ao controle associado TextDisplayWebPart usando a WebPartToEdit propriedade . Em seguida, ele obtém o valor da TextDisplayWebPart.FontStyle propriedade e atualiza qual item é selecionado no controle de lista suspensa (referenciado pela TextDisplayEditorPart.PartContentFontStyle propriedade) no controle 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 controle associado WebPart , TextDisplayWebPart, cria uma coleção de controles associados EditorPart (nesse caso, há apenas um EditorPart controle chamado TextDisplayEditorPart na coleção) em sua implementação do CreateEditorParts método . Esse método é executado quando o TextDisplayWebPart controle entra no 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

Comentários

O SyncChanges método é um método crítico em um EditorPart controle . Ele é definido como um método abstrato na EditorPart classe e deve ser implementado por controles herdados. A finalidade do método é recuperar os valores atuais do WebPart controle referenciado na WebPartToEdit propriedade e atualizar os campos no EditorPart controle com esses valores para que um usuário possa editá-los.

O SyncChanges método é chamado sempre que os valores no controle associado WebPart podem ter sido alterados. Para cada EditorPart controle, a EditorZoneBase zona que contém o controle chama o SyncChanges método imediatamente após chamar o ApplyChanges método, para que os valores no EditorPart controle sejam sempre sincronizados com os valores no controle associado WebPart . Outro caso em que o SyncChanges método é chamado é quando um WebPart controle está entrando no modo de edição.

Observação

O SyncChanges método não será chamado após o ApplyChanges método se esse método retornar false, porque nesse caso, ocorreu um erro.

Notas aos Implementadores

Uma classe derivada da EditorPart classe deve implementar o SyncChanges() método . O método implementado obtém uma referência ao controle associado usando a WebPartToEdit propriedade e atualiza o EditorPart controle com os valores de propriedade do controle associado WebPart .

Aplica-se a

Confira também