Udostępnij za pośrednictwem


EditorPart.SyncChanges Metoda

Definicja

Pobiera wartości właściwości z WebPart kontrolki skojarzonej z nią EditorPart kontrolki.

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

Przykłady

W poniższym przykładzie kodu pokazano, jak zaimplementować metodę SyncChanges w kontrolce niestandardowej EditorPart . Aby zapoznać się z pełnym kodem wymaganym do uruchomienia przykładu, zobacz sekcję Przykładowe EditorPart omówienie klasy.

Pierwsza część przykładu kodu pokazuje implementację SyncChanges metody w klasie niestandardowej EditorPart o nazwie TextDisplayEditorPart. Ta metoda pobiera odwołanie do skojarzonej TextDisplayWebPartWebPartToEdit kontrolki przy użyciu właściwości . Następnie pobiera wartość TextDisplayWebPart.FontStyle właściwości i aktualizuje element wybrany w kontrolce listy rozwijanej (przywołynej przez TextDisplayEditorPart.PartContentFontStyle właściwość) w kontrolce niestandardowej 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

Druga część przykładu kodu pokazuje, jak skojarzona WebPart kontrolka , TextDisplayWebParttworzy kolekcję skojarzonych EditorPart kontrolek (w tym przypadku istnieje tylko jedna EditorPart kontrolka o nazwie TextDisplayEditorPart w kolekcji) w implementacji CreateEditorParts metody . Ta metoda jest wykonywana, gdy kontrolka TextDisplayWebPart wchodzi w tryb edycji.

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

Uwagi

Metoda SyncChanges jest metodą krytyczną w kontrolce EditorPart . Jest ona definiowana jako metoda abstrakcyjna w EditorPart klasie i musi być zaimplementowana przez dziedziczone kontrolki. Celem metody jest pobranie bieżących wartości z WebPart kontrolki, do której odwołuje się kontrolka we WebPartToEdit właściwości, i zaktualizowanie pól w kontrolce EditorPart za pomocą tych wartości, aby użytkownik mógł je edytować.

Metoda jest wywoływana SyncChanges za każdym razem, gdy wartości skojarzonej WebPart kontrolki mogły ulec zmianie. Dla każdej EditorPart kontrolki EditorZoneBase strefa zawierająca kontrolkę SyncChanges wywołuje metodę natychmiast po wywołaniu ApplyChanges metody, aby wartości w kontrolce EditorPart zawsze są synchronizowane z wartościami w skojarzonej WebPart kontrolce. Innym przypadkiem SyncChangesWebPart , w którym wywoływana jest metoda, jest wprowadzanie trybu edycji kontrolki.

Uwaga

Metoda nie jest wywoływana SyncChanges po metodzie ApplyChanges , jeśli ta metoda zwraca falsemetodę , ponieważ w takim przypadku wystąpił błąd.

Uwagi dotyczące implementowania

Klasa, która pochodzi z EditorPart klasy, musi zaimplementować metodę SyncChanges() . Zaimplementowana metoda pobiera odwołanie do skojarzonej kontrolki przy użyciu WebPartToEdit właściwości, a następnie aktualizuje kontrolkę EditorPart z wartościami właściwości z skojarzonej WebPart kontrolki.

Dotyczy

Zobacz też