EditorPart.SyncChanges Metod

Definition

Hämtar egenskapsvärdena från en WebPart kontroll för dess associerade EditorPart kontroll.

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

Exempel

Följande kodexempel visar hur du implementerar SyncChanges metoden i en anpassad EditorPart kontroll. Den fullständiga kod som krävs för att köra exemplet finns i avsnittet Exempel i klassöversikten EditorPart .

Den första delen av kodexemplet visar implementeringen av SyncChanges metoden i den anpassade EditorPart klassen med namnet TextDisplayEditorPart. Den här metoden hämtar en referens till den associerade TextDisplayWebPart kontrollen med hjälp av WebPartToEdit egenskapen . Den hämtar sedan värdet för TextDisplayWebPart.FontStyle egenskapen och uppdaterar vilket objekt som väljs i listrutans kontroll (refereras av TextDisplayEditorPart.PartContentFontStyle egenskapen) i den anpassade EditorPart kontrollen.

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

Den andra delen av kodexemplet visar hur den associerade WebPart kontrollen, TextDisplayWebPart, skapar en samling associerade EditorPart kontroller (i det här fallet finns det bara en EditorPart kontroll med namnet TextDisplayEditorPart i samlingen) i dess implementering av CreateEditorParts metoden. Den här metoden körs när kontrollen går in i TextDisplayWebPart redigeringsläge.

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

Kommentarer

Metoden SyncChanges är en kritisk metod för en EditorPart kontroll. Den definieras som en abstrakt metod i EditorPart klassen och måste implementeras med ärvda kontroller. Syftet med metoden är att hämta de aktuella värdena från kontrollen WebPart som refereras i WebPartToEdit egenskapen och uppdatera fälten EditorPart i kontrollen med dessa värden så att en användare kan redigera dem.

Metoden SyncChanges anropas när värdena i den associerade WebPart kontrollen kan ha ändrats. För varje EditorPart kontroll anropar EditorZoneBase zonen som innehåller kontrollen metoden omedelbart efter att metoden anropatsSyncChanges, så att värdena i ApplyChanges kontrollen alltid synkroniseras med värdena i den associerade EditorPart kontrollen.WebPart Ett annat fall där SyncChanges metoden anropas är när en WebPart kontroll går in i redigeringsläge.

Note

Metoden SyncChanges anropas inte efter metoden om metoden ApplyChanges returnerar false, eftersom det i så fall har uppstått ett fel.

Anteckningar till implementerare

En klass som härleds från EditorPart klassen måste implementera SyncChanges() metoden. Den implementerade metoden hämtar en referens till den associerade kontrollen med hjälp av WebPartToEdit egenskapen och uppdaterar EditorPart sedan kontrollen med egenskapsvärdena från den associerade WebPart kontrollen.

Gäller för

Se även