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