Меня только что застало странное поведение панели обновления AJAX. Первое, что заставило меня смущаться, это то, что я заметил, что когда я выкидываю исключение во время асинхронной обратной передачи, оно поглощается окружающей средой.
С тех пор, как я впервые столкнулся с такой проблемой, я начал проводить эксперименты - пытаясь выбрасывать различные типы исключений или создавать одинаковые исключения вне updatePanel (например, в событии Page_Init). Вывод таков: когда исключение выдается в асинхронной обратной передаче, среда его проглатывает, и страница отображается так, как будто ничего не произошло (это недопустимая точка). Но когда я выбрасываю исключение в течение нормального жизненного цикла страницы, исключение пересылается обычным способом, и страница не выполняется должным образом (я надеюсь, что мои выводы будут правильными)
Вопрос в том, что я должен сделать, чтобы включить исключение
(Кстати, когда я писал это сообщение, меня заметили, что из-за изменений в бизнес-логике больше нет необходимости генерировать вышеупомянутое исключение, но мне все равно интересно, почему это происходит)
Вторая проблема с updatePanel заключается в том, что когда я устанавливаю его {up.Visible = false;} в Page_Load, то при некотором методе устанавливаем его {up.Visible = true; up.Update ()} - он все еще не обработан. Я установил точки останова в обоих местах; .visible имеет значение true при отображении страницы, но в любом случае он все еще остается невидимым. Я не вижу очевидной причины, почему.
Спасибо.