обработчик страниц бритвы с флажком логическое не связывает - PullRequest
0 голосов
/ 24 января 2019

У меня есть форма с несколькими входами.Я отправляю форму в ajax с form.serialize() в Jquery.Вкладка «Сеть» показывает, что данные отправлены успешно (welcomesCritiques: on, complete: on).

На стороне сервера я перехватываю эти входные данные в пользовательском обработчике

public async Task<IActionResult> OnPostLoadBooksAsync(string search, bool welcomesCritiques, bool complete, int startIndex, int amount)

Строка и значения int отлично связываютсяхорошо.Но bools всегда ложные.Когда я заменяю bools строкой, я получаю "on".

Это известная проблема?Как я могу сделать так, чтобы "on" стал bool?

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 24 января 2019

Для привязки к логическому значению необходимо установить значение «истина», а не значение по умолчанию, которое «включено»:

<input type="checkbox" name="welcomesCritiques" value="true" />

Значение будет отправлено, только если установлен флажок,Если для параметра обработчика не указано значение, по умолчанию он будет false.

Подробнее о флажках в формах Razor см. Здесь: https://www.learnrazorpages.com/razor-pages/forms/checkboxes

...