Asp. Net C# Ошибка проверки страницы при публикации: «Page.IsValid» вызвало исключение типа «System.Web.HttpException» - PullRequest
0 голосов
/ 18 апреля 2020

Я внедряю PayPal во многих формах, и одна простая форма сталкивается с этой проблемой.

Page.Validate(FormEntryBase.VALIDATION_GROUP);
return Page.IsValid;

Если я отправляю форму, используя asp: нажатие кнопки работает нормально. В отладчике при наведении курсора на IsValid правильно отображается значение true или false в зависимости от настроек поля страницы.

Если я отправляю форму с помощью кнопки PayPal с видом привязки, которая вызывает функцию JavaScript, которая выполняет отправку формы, тогда при наведении курсора на IsValid до вызова Page.Validate отображается сообщение:

 'Page.IsValid' threw an exception of type 'System.Web.HttpException'

После вызова Page.Validate IsValid всегда имеет значение false независимо от значений страницы. RadCaptcha (элемент управления Telerik) всегда говорит, что значение не совпадает. Другие проблемы проверки правильны.

Якорь вызывает PayPalClick. Отправка JavaScript довольно проста

function PayPalClick() {
    document.getElementById("<%= PurchaseDone.ClientID %>").value = "PayNow";
    MembersForm.submit();
}

Значение PurchaseDone всегда устанавливается правильно.

У меня есть 7 других страниц формы, которые делают то же самое, настраивая дополнительные поля, без каких-либо проблем.

Эта страница работала вчера с отправкой JavaScript, но теперь всегда не проходит проверку.

1 Ответ

0 голосов
/ 20 апреля 2020

Проблема заключается в том, что вызов PageValidate() формы Page_Load вызывает проблему. Вызов PageValidate() из обработчика кликов работает нормально, никогда не видя исключения HttpException. Это должна быть какая-то проблема жизненного цикла страницы asp. net.

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

...