Share via


EditorPart.SyncChanges Método

Definición

Obtiene los valores de propiedad de un control WebPart correspondientes a su control EditorPart asociado.

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo implementar el SyncChanges método en un control personalizado EditorPart . Para obtener el código completo necesario para ejecutar el ejemplo, consulte la sección Ejemplo de la información general de la EditorPart clase.

La primera parte del ejemplo de código muestra la implementación del SyncChanges método en la clase personalizada EditorPart denominada TextDisplayEditorPart. Este método obtiene una referencia al control asociado TextDisplayWebPart mediante la WebPartToEdit propiedad . A continuación, obtiene el valor de la TextDisplayWebPart.FontStyle propiedad y actualiza qué elemento está seleccionado en el control de lista desplegable (al que hace referencia la TextDisplayEditorPart.PartContentFontStyle propiedad ) en el control 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

La segunda parte del ejemplo de código muestra cómo el control asociado WebPart , TextDisplayWebPart, crea una colección de controles asociados EditorPart (en este caso, solo hay un EditorPart control denominado TextDisplayEditorPart en la colección) en su implementación del CreateEditorParts método . Este método se ejecuta cuando el TextDisplayWebPart control entra en modo de edición.

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

Comentarios

El SyncChanges método es un método crítico en un EditorPart control . Se define como un método abstracto en la EditorPart clase y debe implementarse mediante controles heredados. El propósito del método es recuperar los valores actuales del WebPart control al que se hace referencia en la WebPartToEdit propiedad y actualizar los campos del EditorPart control con esos valores para que un usuario pueda editarlos.

Se SyncChanges llama al método cada vez que los valores del control asociado WebPart podrían haber cambiado. Para cada EditorPart control, la EditorZoneBase zona que contiene el control llama al SyncChanges método inmediatamente después de llamar al ApplyChanges método , de modo que los valores del EditorPart control siempre se sincronizan con los valores del control asociado WebPart . Otro caso en el que se llama al SyncChanges método es cuando un WebPart control entra en modo de edición.

Nota

No SyncChanges se llama al método después del ApplyChanges método si ese método devuelve false, porque en ese caso se ha producido un error.

Notas a los implementadores

Una clase que deriva de la EditorPart clase debe implementar el SyncChanges() método . El método implementado obtiene una referencia al control asociado mediante la WebPartToEdit propiedad y, a continuación, actualiza el EditorPart control con los valores de propiedad del control asociado WebPart .

Se aplica a

Consulte también