i have a razor page in asp.net core with the following input tag:
<input asp-for="chkPref" />
in the code-behind i have:
public bool chkPref { get; set; }
so when i run the app, i can confirm in Request.Form that I'm getting...
checkbox checked = {true,false}
checkbox unchecked = {false}
which is expected, according to https://www.learnrazorpages.com/razor-pages/forms/checkboxes (which seems to be the site everyone points to for answers to this issue)
however, that page states that the model binding will figure out that {true,false} is actually true but i'm getting false no matter what.
the website above alludes to the fact that this "just happens"...
If the checkbox is checked, the posted value will be true,false. The model binder will correctly extract true from the value. Otherwise it will be false.
but that doesn't seem to be working, or at least isn't that obvious how it works.
i'm not exactly sure how you can assign two values (ie - true, false) to a single bool in the first place.
i even tried turning it into a List<bool> but that didn't work either. that throws a whole different set of errors.