Извиняюсь, если это классический ASP 101, но это было так давно, с тех пор как я сделал какой-либо ASP, я изо всех сил пытался понять / отследить эту ошибку. Что еще хуже, я унаследовал это приложение, и я не могу спросить оригинального автора ..
У меня есть корзина для покупок, которая включает в себя флажок ввода и множество других полей. Когда форма обрабатывается и отправляется, она запускается через некоторый JavaScript, а затем, если все в порядке, перенаправляется на другую страницу. (Ничего необычного там нет). Firebug показывает, что на данный момент значение флажка отличается в зависимости от его проверенного состояния.
Когда форма отправляется, она переходит на другую страницу, которая перебирает коллекцию session.Contents () и создает строку, отправляемую третьей стороне. Используя fiddler, кажется, что, хотя имя checkBox находится в этой строке, значение всегда 'on'
Из чтения Google я вижу, что коллекция session.Contents - это все параметры, которые были помещены в сессию / приложение. но grep для всех файлов в каталоге проекта нигде не появляется, если флажок добавлен в сеанс.
Итак, cb там просто потому, что он находится в форме или используется в javascript, или есть другие способы добавления переменной в сеанс. (Grep для имени не включает другие экземпляры).
И, во-вторых, если переменная находится в сеансе, независимо от того, как она туда попала, почему она всегда установлена на «on». Я предполагаю, что каким-то образом он был добавлен в сеанс и установлен на Вкл до обработки формы. Но по умолчанию флажок снят, поэтому я в замешательстве!
Может ли кто-нибудь помочь объяснить это или даже предложить, как я могу отследить / исправить это. (Очевидный ответ - попытаться принудительно ввести его в сеанс с правильным значением, но я хотел бы знать, почему он ведет себя неправильно, а не просто игнорировать его в случае, если я снова что-то встретлю!
Спасибо