У меня есть просмотр списка элемента управления.Каждая строка содержит флажок и другое представление списка.
Внешний просмотр списка связан со свойством элемента управления (посредством вызова метода не может установить свойство как SelectMethod для объекта ObjectDataSource, в котором оно будет отображаться), котороезагружается ленивый так:
Public ReadOnly Property ProductLineChargeDetails() As List(Of WebServiceProductLineChargeDetail)
Get
If ViewState("WSProductLineChargeDetails") Is Nothing Then
ViewState("WSProductLineChargeDetails") = GetWebServiceProductLineChargeDetails()
End If
Return DirectCast(ViewState("WSProductLineChargeDetails"), Global.System.Collections.Generic.List(Of Global.MI.Open.WebServiceProductLineChargeDetail))
End Get
End Property
Форма объекта, на который ссылается источник данных, выглядит примерно так:
(psuedocode)
Product
{
bool Licenced;
List<Charge> charges;
}
Charge
{
int property1;
string property2;
bool property3
.
.
.
}
Причинаиспользование viewstate таково:
Когда один из флажков в одной из строк представления внешнего списка отмечен или снят, я хочу изменить объект, который представляет ODS (например, я добавлю паруЗарядите объекты до соответствующего объекта Product), а затем выполните повторную привязку.
Проблема, с которой я сталкиваюсь, заключается в том, что после каждой обратной передачи (в частности, после установки или снятия флажка одной из строк) мое представление состояния пусто.Это означает, что любые изменения, которые я делаю в своем объекте viewstate, будут утеряны.
Теперь я разработал (после долгих поисков и поиска, среди многих других, превосходный бит Скотта Митчела во ViewState), что во время начальнойпривязка данных IsTrackingViewState имеет значение false.Я думаю, это означает, что назначение возврата из GetWebServiceProductLineChargeDetails () для элемента ViewState в моем свойстве Get во время начальной привязки данных не будет работать.
Имейте в виду, даже когда IsTrackingViewState имеет значение true, и я вызываю свойство Get, приходите при следующей обратной передаче, состояние просмотра пусто.
Итак, у вас есть парни?идеи о том, как сохранить объект, на который ссылается ObjectDataSource в ViewState, между постбэками, обновить его и заставить эти изменения остаться в ViewState?Это продолжается уже пару дней, и я сыт по горло!
Заранее спасибо
Стив