Не удалось загрузить состояние отображения. Случай только иногда. Жесткий для воссоздания

При импорте файла весь файл считывается и исполняется. Это то же самое, используете ли вы from file import function или просто import file.

Вы должны поместить любой код, который вы не хотите запускать, когда он импортирован, в блок, подобный этому:

if __name__ = '__main__':
    your code here

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

См. этот дублирующий вопрос , который объясняет это более подробно.

15
задан Cœur 13 December 2017 в 06:54
поделиться

7 ответов

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

существует!

Отключают "Просто мой код" в настройках отладки. И поймайте все вызванные исключительные ситуации (проверка, 'брошенная' для Общеязыковой среды выполнения в диалоговое окно, открытое Ctrl-Alt-E).

После того, как исключение происходит, перейдите к ближайшему стековому фрейму, где Объект управления доступен, и исследуйте его ClientID и родителей.

24
ответ дан 1 December 2019 в 00:24
поделиться

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

Это могло бы взгляд как случайная ошибка, потому что существуют случаи, когда изменение средств управления на странице не препятствует тому, чтобы состояние отображения загрузилось. Взгляните на своей странице и ищите средства управления, которые динамично создаются/удаляются. Удостоверьтесь, что любые средства управления добавляются к странице прежде , состояние отображения загружается (который был бы перед событием страницы Load).

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

12
ответ дан 1 December 2019 в 00:24
поделиться

Я столкнулся с этой ошибкой, это происходит, когда существует перекрестная обратная передача страницы.

, Например : Вы загружаете Представление A. Просмотрите прекрасные загрузки по любой причине условия, при котором Представлении загруженное, больше не существуют. Страница нейтрализации является Представлением B. Таким образом, пользователь заполняет форму выставленный для обозрения A и postsback. Так как условия A Представления больше не соблюдают, значения формы A Представления отправляются для Просмотра B.

4
ответ дан 1 December 2019 в 00:24
поделиться

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

я полагаю, что это было зафиксировано в VS2005 SP1 как бы то ни было.

0
ответ дан 1 December 2019 в 00:24
поделиться

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

0
ответ дан 1 December 2019 в 00:24
поделиться

Существует обходной путь для этой ошибки:

Установите свойство EnableViewstate всех динамически загружаемых элементов управления в false. Это не полное решение; здесь мы отключаем ViewState элементов управления, чтобы обойти эту ошибку.

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

5
ответ дан 1 December 2019 в 00:24
поделиться

У меня возникла эта ошибка, когда мои пользовательские элементы управления были случайно созданы в Page_Load(). Элементы управления должны динамически создаваться в OnInit().

2
ответ дан 1 December 2019 в 00:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: