The code for one of my checkboxes is as follows:
@Html.CheckBox("option1", new { id = "option1" })
<label for="option1">Option 1</label>
But when I "Inspect Element" it renders as:
<input data-val="true" data-val-required="The option1 field is required." id="option1" name="option1" type="checkbox" value="true" />
<input name="option1" type="hidden" value="false" />
<label for="option1">Option 1</label>
According to http://materializecss.com/forms.html the label tag should come after the input tag that it relates to therefore the checkbox "image" is relating to the hidden field rather than the visible field. I still need the hidden field, I just need to put the label in between the visible and hidden field.