EditorPart.SyncChanges Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Извлекает значения свойств из элемента управления WebPart для связанного с ним элемента управления EditorPart.
public:
abstract void SyncChanges();
public abstract void SyncChanges ();
abstract member SyncChanges : unit -> unit
Public MustOverride Sub SyncChanges ()
Примеры
В следующем примере кода показано, как реализовать SyncChanges метод в пользовательском EditorPart элементе управления. Полный код, необходимый для выполнения примера, см. в разделе EditorPart Пример обзора класса.
В первой части примера кода демонстрируется реализация метода в пользовательском SyncChangesEditorPart классе с именем TextDisplayEditorPart
. Этот метод получает ссылку на связанный TextDisplayWebPart
элемент управления с помощью WebPartToEdit свойства . Затем он получает значение TextDisplayWebPart.FontStyle
свойства и обновляет элемент, выбранный в элементе управления раскрывающимся списком TextDisplayEditorPart.PartContentFontStyle
(на который ссылается свойство) пользовательского 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
Во второй части примера кода показано, как связанный WebPart элемент управления , создает коллекцию связанных EditorPart элементов управления (в данном случае в коллекции есть только один EditorPart элемент управления с именемTextDisplayEditorPart
) в своей реализации CreateEditorParts метода . TextDisplayWebPart
Этот метод выполняется, когда 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 классе и должен реализовываться унаследованными элементами управления. Цель метода — получить текущие значения из WebPart элемента управления, на который ссылается WebPartToEdit свойство , и обновить поля в элементе EditorPart управления этими значениями, чтобы пользователь смог изменить их.
Метод SyncChanges вызывается при изменении значений в связанном WebPart элементе управления. Для каждого EditorPart элемента управления зона, содержащая элемент управления, EditorZoneBase вызывает SyncChanges метод сразу после вызова ApplyChanges метода , чтобы значения в элементе EditorPart управления всегда синхронизировали со значениями в связанном WebPart элементе управления. Еще один случай, когда SyncChanges вызывается метод , — когда WebPart элемент управления входит в режим редактирования.
Примечание
Метод SyncChanges не вызывается после метода , ApplyChanges если этот метод возвращает false
, так как в этом случае произошла ошибка.
Примечания для тех, кто реализует этот метод
Класс, производный от класса , EditorPart должен реализовывать SyncChanges() метод . Реализованный метод получает ссылку на связанный элемент управления с помощью WebPartToEdit свойства , а затем обновляет EditorPart элемент управления значениями свойств из связанного WebPart элемента управления.