«Не удается загрузить ViewState» после изменения динамического элемента управления - PullRequest
0 голосов
/ 28 апреля 2010

На моей странице ASP.NET мне нужно динамически выбирать и загружать пользовательский элемент управления в зависимости от выбранного значения в раскрывающемся списке. Однако я столкнулся со следующей проблемой: Когда параметры динамически загружаемого элемента управления изменяются, а затем изменяется выбор в раскрывающемся списке (что вынуждает меня загрузить другой динамический элемент управления при следующей перезагрузке страницы), я получаю исключение «Не удается загрузить ViewState». Я предполагаю, что это происходит потому, что ViewState пытается восстановить параметры старого элемента управления и не находит его. Итак, есть ли какой-нибудь способ остановить состояние просмотра от попыток восстановить состояние не существующего элемента управления?

Ответы [ 4 ]

1 голос
/ 28 апреля 2010

Необходимо сначала загрузить элементы управления точно таким же образом, а затем изменить, а затем после LoadViewState или отключить состояние просмотра для динамических элементов управления, которые, как вы знаете, не будут синхронизированы со страницей.

0 голосов
/ 28 июля 2015

У меня та же проблема с контролем сетки.Я динамически связывал просмотры данных, и в соответствии с решением DarrenMB я просто написал EnableViewState = false;и проблема решена.

Infragistics.Web.UI.DataSourceControls.DataView dvMesaj = new Infragistics.Web.UI.DataSourceControls.DataView();


        whdsShowMessages.DataRelations.Clear();
        whdsShowMessages.DataViews.Clear();
        whgridShowMessages.Rows.Clear();
        EnableViewState = false; //here is the solution..
        whdsShowMessages.DataViews.Add(dvKisi);
        whdsShowMessages.DataViews.Add(dvMesaj);
0 голосов
/ 21 января 2012

Была такая же проблема, когда список элементов управления переменной длины был добавлен, переставлен и / или изменен пользователем и может изменяться при каждой обратной передаче.

Ответ удивительно прост.

Когда вы создаете динамический набор элементов управления " EnableViewState = False " до , вы добавляете его в коллекцию элементов управления страниц. Тогда информация о состоянии представления не сохраняется, и независимо от того, сколько динамических элементов управления добавлено, удалено или переупорядочено, состояние представления для всего остального будет работать правильно.

Если вы добавляете их динамически, вы все равно обычно устанавливаете все свойства, чтобы в моем случае это не создавало никакой работы, которая очень похожа.

0 голосов
/ 28 апреля 2010

Звучит так, как будто раскрывающийся / добавленный элемент управления не восстанавливается до восстановления состояния просмотра. Если в раскрывающемся списке по умолчанию отображается элемент управления X, а пользователь изменяет его на показ элемента управления Y, страница должна добавить элемент управления Y в коллекцию элементов управления, прежде чем восстанавливается состояние просмотра.

...