Не удалось загрузить viewstate - Content Place holder

Моя главная страница имеет заполнитель содержимого, а моя страница имеет 2 сетки rad в пределах отдельных панелей asp:. При выпадающем списке соответствующая сетка загружается на страницу.

  1. Я выбираю сетку 1 из выпадающего
  2. Нажмите на добавление новой строки, но не отменяйте и не добавляйте новую строку (пусть эта новая строка остается открытой)
  3. Выберите grid2 из выпадающего меню, пусть сетка загружается
  4. Снова выберите grid 1 из выпадающего

В этот момент открывается grid 1, но я получаю следующую ошибку JavaScript.

Ошибка выполнения Microsoft JScript: Sys.WebForms.PageRequestManagerServerErrorException: не удалось загрузить состояние представления. Дерево управления, в которое загружается состояние просмотра, должно соответствовать дереву управления, которое использовалось для сохранения состояния просмотра во время предыдущего запроса. Например, при динамическом добавлении элементов управления элементы, добавленные во время обратной передачи, должны соответствовать типу и положению элементов управления, добавленных во время первоначального запроса.

Любая идея о проблеме. Я читал на некоторых форумах, что проблема может заключаться в использовании одного и того же типа управления в одном заполнителе содержимого Любое предложение по решению???

3 ответа

Решение

Я очистил элементы управления обеих сеток при изменении выпадающего списка, прежде чем связывать их. Это решило мою проблему.

radgrid1.Controls.Clear (); radgrid2.Controls.Clear ();

Один и тот же тип элемента управления в том же самом заполнителе содержимого не является проблемой.

Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request.

Это происходит чаще всего, когда вы динамически добавляете и удаляете элементы управления. Простое изменение видимости не должно привести к ошибке.

Возможно, показ какой-то части вашего кода поможет.

Без дополнительной информации кажется, что ваши элементы управления больше не отображаются на странице после обратной передачи. Вы удаляете радиолокационные сетки или просто делаете их видимыми при необходимости? Также может быть, что вы добавляете их динамически. Это может вызвать проблемы с радгридом.

Я думаю, что лучшее решение - использовать одну сетку и манипулировать ею, когда пользователь сделал новый выбор. Если сетки сильно отличаются друг от друга, я бы добавил несколько и сделал бы их видимыми при выборе из списка (не делайте этого, когда у вас есть более 3 вариантов).

Другие вопросы по тегам