Кто-нибудь знает, что с этим не так? У меня есть некоторый классический ASP-код, который проверяет значение флажка, например:
<!-- HTML page: page1.asp --->
<input id="useBilling" name="useBilling" value="Y" type="checkbox" />
И в моей кодовой странице (назовем это page2.asp):
' code
useBilling = Request.Form("useBilling")
' useBilling should be "Y" here
If useBilling = "Y" Then
' using billing info
Else
' not using billing info
End If
Проблема в том, что иногда, даже когда я проверяю флажок, он передает пустую строку в Request.Form и выполняется неправильный код. Я поместил несколько вызовов Response.Write, чтобы отследить его (это VBScript, помните), и иногда он говорит, что значение равно «Y», но позже, когда я проверяю значение в условном выражении, оно пустое.
Я ломал голову, пытаясь понять, почему, черт возьми, это не работает, потому что все кажется правильным, просто Request.Form иногда выбирает значение, а иногда нет, даже когда проверяется. Черт, иногда я проверяю его, комментируя код выполнения, и он говорит, что значение равно «Y», затем, когда я раскомментирую исполняемый код, он снова загадочным образом опустошается.
РЕДАКТИРОВАТЬ: Как ни странно, если я включу тег Response.End в условное, он будет работать так, как я ожидаю, но когда я удаляю Response.End он больше не находит значение флажка (возвращает пусто), хотя минуту назад (с откликом на Response.End) выводится тестовое сообщение «Хорошо, флажок установлен». В комментариях Response.End говорится: «Флажок не установлен».
Я даже пытаюсь вывести значение флажка (который должен быть "Y", если он отмечен, и ничего, если это не так). И, конечно же, если в условие входит Response.End, он выведет «Y», а если я удалю Response.End, он будет пустым.