Ошибка среды выполнения Microsoft JScript: Sys.WebForms.Исключение PageRequestManagerServerErrorException: код состояния, возвращенный с сервера, был: 500

#c# #asp.net #ajax #asp.net-ajax

#c# #asp.net #ajax #asp.net-ajax

Вопрос:

Моя ошибка

Ошибка среды выполнения Microsoft JScript: Sys.WebForms.Исключение PageRequestManagerServerErrorException: при обработке запроса на сервере произошла неизвестная ошибка. Код состояния, возвращенный с сервера, был: 500

У меня есть UpdatePanel , и GridView в нем, и несколько TextBox на моей веб-странице.В моем представлении сетки отображается информация о продукте, когда я для начала устанавливаю SelectedIndex в моем представлении сетки значение -1.

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

День назад на этой веб-странице использовались вкладки Infragistics для Tabs , эта ошибка не появлялась, сейчас я использую Ajax TabContainer , но, похоже, я не могу обработать эту ошибку.Я попытался добавить ValidateRequest="false" в свою директиву Page, но это не сработало.

Есть идеи?Кто-нибудь сталкивался с такого рода ошибками и решался?

Заранее благодарю вас.

Ответ №1:

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

Я думаю, это может кому-то помочь

Ответ №2:

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

Попробуйте добавить следующее сразу после объявления диспетчера сценариев:

 <script type="text/javascript" language="javascript">

    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

     function EndRequestHandler(sender, args){

        if (args.get_error() != undefined){

            args.set_errorHandled(true);

        }

    }

</script>
  

Ответ №3:

Для тех, кто может столкнуться с такой же проблемой и пострадать от нее.

Для идеи решения проблемы проверьте директиву ValidateRequest page. Ну, вот где я получаю информацию о innerHTML-inner Text и HtmlEncode-HtmlDecode вещи. Затем я использовал Server.HtmlEncode(); для всех текстовых полей, которые у меня есть на этой веб-странице.Пример

 UrunNoTextBox.Text = Server.HtmlEncode("");
  

Ответ №4:

измените целевую платформу решения на 3.5

ПЕРЕЙДИТЕ к решению> Щелкните правой кнопкой мыши > Страницы свойств > СБОРКА > ЦЕЛЕВАЯ ПЛАТФОРМА