2010-01-25 5 views
0

У меня есть страница aspx, которая динамически загружает элементы управления пользователя: есть UpdatePanel, который содержит эти элементы управления (один раз каждый раз). Когда я меняю элемент управления с другим, он терпит неудачу с сообщением:Не удалось загрузить viewstate

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

Все три элемента управления наследуются от System.Web.UI.UserControl. Возможно, я смогу решить проблему:

  1. Загрузите три элемента управления во время запуска, а затем спрячьте два из них, сколько нам нужно.
  2. Используйте три UpdatePanels, по одному для каждого пользовательского элемента управления.
  3. Любые советы?

ответ

0

Удостоверьтесь, что postbacks не обновляют нежелательные панели, установив режим обратной передачи на условное и обновив их вручную.

+0

Нет, я сделал это, и это бросает то же исключение. – VansFannel

+0

Попробуйте поставить точку останова в своей функции, которую вы ударите, когда вы опубликуете сообщение. Затем используйте окно просмотра, чтобы начать подталкивать в списке .Controls, который содержит ваши динамически созданные элементы управления. Посмотрите, существуют ли ваши элементы управления в этом списке. Если нет, вам нужно будет добавить каждый элемент управления в свою собственную панель обновления. – Daniel

+0

Теперь я использую один UpdatePanel для каждого элемента управления. Проблема решена, но теперь у меня есть еще одна: Ошибка выполнения в Microsoft JScript: Sys.InvalidOperationException: Не удалось найти UpdatePanel с идентификатором. 'CreateDestination1_DestinationMainUpdatePanel. Если вы обновляете динамически, он должен находиться внутри другой UpdatePanel. – VansFannel

0

Когда вы динамически добавляете элементы управления пользователя, назначаете ли вы свойство id? И добавляете ли вы снова элемент управления, при обратной передаче, устанавливая свойство id в одно и то же значение?

Смежные вопросы