EditorPart.SyncChanges 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從 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 參考。 然後,它會取得 屬性的值 TextDisplayWebPart.FontStyle
,並更新在下拉式清單控制項中選取的專案, (自訂 EditorPart 控制項上的 屬性) 參考 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 EditorPart 控制項 TextDisplayWebPart
的集合 (在此情況下,在 方法的實 CreateEditorParts 作中,集合中只有一個名為 EditorPart TextDisplayEditorPart
的控制項) 。 當控制項進入編輯模式時, 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 方法,以便控制項中的值一律與相關聯 WebPart 控制項中的 EditorPart 值同步處理。 另一個呼叫 方法的情況 SyncChanges 是控制項進入編輯模式時 WebPart 。
注意
SyncChanges如果該方法傳 false
回 ,則方法不會在 方法之後 ApplyChanges 呼叫,因為在此情況下發生錯誤。
給實施者的注意事項
衍生自 類別的 EditorPart 類別必須實作 SyncChanges() 方法。 實作的方法會使用 WebPartToEdit 屬性取得相關聯控制項的參考,然後使用相關聯 WebPart 控制項的屬性值來更新 EditorPart 控制項。