I don't understand why the following code is not working. I have a simple checkbox and seems model binding is always assigning the value true. (I'm using .NET 6 mvc)
I put my checkbox inside a form:
<div class="form-group">
<label asp-for="@Model.CurrentUser.Active"></label>
<input asp-for="@Model.CurrentUser.Active"/>
</div>
In model I declared Active property as boolean:
[Display(Name = "Active", ResourceType = typeof(Resources))]
[Required(ErrorMessageResourceType = typeof(Resources), ErrorMessageResourceName = "RequiredField")]
public bool Active { get; set; }
When I submit the form, the property Active is always true, even if I uncheck the checkbox.
this works.
Controller/View Model:
View: