У меня есть страница aspx, которая содержит пользовательский элемент управления. Пользовательский элемент управления отображает бизнес-объект и позволяет пользователю редактировать объект. Пользовательский элемент управления имеет свойство, которое содержит отображаемый объект.
Public Property Item() As Widget
Get
If ViewState("Item") IsNot Nothing Then
Return DirectCast(ViewState("Item"), Widget)
End If
Return Nothing
End Get
Private Set(ByVal value As Widget)
ViewState("Item") = value
End Set
End Property
Недавно я добавил новую функцию в виджеты, чтобы она вызывала событие при некоторых обстоятельствах. Я хочу обработать это событие в своем пользовательском элементе управления.
Как мне подключить обработчик к Собственности?
Защищенный Sub WidgetHandler (ByVal отправитель как объект, ByVal e как WidgetEventArgs) Обрабатывает Me.Item.WidgetEvent не работает. Выдает ошибку сериализации, указывающую, что пользовательский элемент управления не сериализуем. Виджеты и WidgetEventArgs помечены как Сериализуемые.
Я попытался Protected WithEvents myItem As Widget , изменил объявление обработчика на ... Обрабатывает myItem.WidgetEvent и добавил myItem = value в Setter элемента, но это не имеет значения. Я также пытался использовать AddHandler в сеттере, но он тоже не работал.
Как правильно сохранить ссылку на бизнес-объект в моем пользовательском элементе управления, чтобы я мог обрабатывать его события?
Спасибо