У меня есть Repeater
вложенное внутри GridView
. В событии RowDataBound
для GridView
я устанавливаю DataSource
(на основе одного из столбцов строки) и затем связываю Repeater
. Это прекрасно работает для начальной загрузки, однако мне нужно иметь возможность добавлять новые элементы в Repeater
динамически.
Я добавляю элемент в DataSource
, сохраняю его в ViewState
, и там, где я обычно связываюсь, используя вызов метода, я связываюсь с объектом, сохраненным в ViewState
. DataSouce
отражает изменение, однако страница - нет.
Чего мне не хватает? У меня точно такая же настройка на другой странице без вложенности, и она отлично работает.
if (ViewState["RepeaterObj"]!=null)
{
rpt.DataSource=(IList<DataTransferObject>)ViewState["RepeaterObj"];
}
else
{
rpt.DataSource = controller.GetObj(param);
rpt.DataBind();
}