다음을 통해 공유


EditorPart.SyncChanges 메서드

정의

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

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

예제

다음 코드 예제에서는 구현 하는 방법에 설명 합니다 메서드를 SyncChanges 사용자 지정 EditorPart 컨트롤입니다. 예제를 실행 하는 데 필요한 전체 코드의 예제 섹션을 참조 하세요.를 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연결 된 EditorPart 컨트롤의 컬렉션을 만듭니다 (이 경우는 컬렉션에 라는 TextDisplayEditorPart 컨트롤이 하나 EditorPart 만) 메서드의 CreateEditorParts 구현에 있습니다. 이 메서드는 컨트롤이 편집 모드로 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 대해 컨트롤이 포함된 영역은 메서드를 호출한 직후 메서드를 호출 SyncChangesApplyChanges 하므로 컨트롤의 EditorPart 값은 항상 연결된 WebPart 컨트롤의 값과 동기화됩니다. 메서드가 SyncChanges 호출되는 또 다른 경우는 컨트롤이 편집 모드로 WebPart 전환되는 경우입니다.

참고

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

구현자 참고

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

적용 대상

추가 정보