У меня есть пользовательский элемент управления в ASP.Net с кнопкой, которую я использую для обратной передачи. Эта кнопка также имеет некоторую проверку Javascript, которая выполняется перед обработкой события.
Сегодня я попытался выполнить обратную передачу на другой URL-адрес, установив свойство PostBackURL кнопки. Но это не сработало, и страница продолжала отправлять сообщения сама себе. Итак, я провел небольшое расследование и нашел это.
- Отправка на другой URL-адрес реализована через Javascript в ASP.Net.
Если я сохраню вызов своей функции проверки
OnClientClick = "return validate ()" Тогда возврат сообщения не происходит.
- Если я удалю вызов функции проверки, обратная передача будет работать нормально.
Так выглядит разметка кнопки с включенной проверкой.
<input type="submit" name="ctl00$cphMain$pra1$btnSubmit" value="Submit" onclick="return validate();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$cphMain$pra1$btnSubmit", "", false, "", "Result.aspx", false, false))" id="ctl00_cphMain_pra1_btnSubmit" style="width:80px;" />
Без проверки
<input type="submit" name="ctl00$cphMain$pra1$btnSubmit" value="Submit" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$cphMain$pra1$btnSubmit", "", false, "", "Result.aspx", false, false))" id="ctl00_cphMain_pra1_btnSubmit" style="width:80px;" />
Вы заметите, что отсутствует вызов return validate (), и в этом вся разница.
Как я могу заставить это работать?