다음을 통해 공유


EditorPart.SyncChanges 메서드

정의

WebPart 컨트롤에서 관련 EditorPart 컨트롤에 대한 속성 값을 검색합니다.

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

예제

다음 코드 예제에서는 사용자 지정 EditorPart 컨트롤에서 메서드를 SyncChanges 구현 하는 방법을 보여 줍니다. 예제를 실행 하는 데 필요한 전체 코드의 예제 섹션을 참조 하세요.를 EditorPart 클래스 개요입니다.

코드 예제의 첫 번째 부분은 명명TextDisplayEditorPart된 사용자 지정 EditorPart 클래스에서 메서드의 SyncChanges 구현을 보여 줍니다. 이 메서드는 속성을 사용 하 여 관련 된 TextDisplayWebPart 컨트롤에 대 한 참조를 WebPartToEdit 가져옵니다. 그런 다음 속성 값을 가져오고 사용자 지정 EditorPart 컨트롤의 TextDisplayWebPart.FontStyle 드롭다운 목록 컨트롤(속성에서 참조TextDisplayEditorPart.PartContentFontStyle)에서 선택한 항목을 업데이트합니다.

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

코드 예제의 두 번째 부분에서는 연결된 WebPart 컨트롤TextDisplayWebPart이 메서드 구현 CreateEditorParts 에서 연결된 컨트롤의 컬렉션을 만드는 방법을 보여 줍니다(이 경우 컬렉션에 명명된 EditorPart TextDisplayEditorPart 컨트롤이 하나 EditorPart 만 있습니다). 이 메서드는 컨트롤이 편집 모드로 TextDisplayWebPart 전환될 때 실행됩니다.

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

설명

메서드 SyncChanges 는 컨트롤에 중요 한 메서드입니다 EditorPart . 클래스에서 EditorPart 추상 메서드로 정의되며 상속된 컨트롤에 의해 구현되어야 합니다. 메서드의 목적은 속성에서 참조된 WebPartToEdit 컨트롤에서 WebPart 현재 값을 검색하고 컨트롤의 EditorPart 필드를 해당 값으로 업데이트하여 사용자가 편집할 수 있도록 하는 것입니다.

SyncChanges 연결된 WebPart 컨트롤의 값이 변경될 때마다 메서드가 호출됩니다. 모든 EditorPart 컨트롤에 EditorZoneBase 대해 컨트롤이 포함된 영역은 메서드를 호출한 직후 메서드를 호출 SyncChanges ApplyChanges 하므로 컨트롤의 EditorPart 값은 항상 연결된 WebPart 컨트롤의 값과 동기화됩니다. 메서드가 SyncChanges 호출되는 또 다른 경우는 컨트롤이 편집 모드로 WebPart 전환되는 경우입니다.

참고

SyncChanges 경우 오류가 발생했기 때문에 메서드가 반환false되는 경우 메서드 후에 ApplyChanges 메서드가 호출되지 않습니다.

구현자 참고

클래스에서 파생되는 클래스는 메서드를 EditorPart SyncChanges() 구현해야 합니다. 구현된 메서드는 속성을 사용하여 연결된 컨트롤에 WebPartToEdit 대한 참조를 가져오고 연결된 WebPart 컨트롤의 EditorPart 속성 값으로 컨트롤을 업데이트합니다.

적용 대상

추가 정보