Я заметил с флажками, созданными с помощью метода EditorFor, что скрытый ввод всегда сопровождает каждый созданный флажок, и что его значение всегда установлено в FALSE. Я прочитал несколько сообщений об этом здесь и понимаю, что скрытый ввод необходим, потому что в противном случае никакая информация о значении флажка вообще не будет отправляться для непроверенного поля во время запроса POST. (Надеюсь, я правильно понял)
Когда я смотрю на данные формы, поступающие из запроса POST, я получаю странный (но ожидаемый) результат, что значение отмеченного поля одновременно равно TRUE и FALSE: TRUE из-за проверяемого поля и FALSE из-за значения в скрытом вводе. Например, для переменной «isActive» в одной из моих форм я вижу это в данных POST:
isActive: true
isActive: false
Итак, что это? Так как это правда, прежде чем это ложь, не будет ли это означать, что значение всегда будет ложным, так как значение скрытого поля будет всегда перезаписывать значение флажка? Порядок, в котором EditorFor размещает элемент ввода и скрытый элемент (сначала скрытый, и всегда устанавливается в false), для меня не имеет никакого смысла. Может кто-нибудь объяснить мне логику этого?
Спасибо!