views:

44

answers:

1

For some reason an html helper is outputting this html which doesnt validate.

the validator tells me

There is no attribute "Length"

<%= Html.CheckBox("Medicamentos", Model.Medicamentos) %>

is outputting

<input type="checkbox" value="true" name="Medicamentos" id="Medicamentos" checked="checked" length="4">
+1  A: 

I assume that it's matching the signature that takes a string and an object since I don't know what Model.Medicamentos is. In that case it takes the properties of the object and turns them into attributes on the element. I suspect that you simply want to use the Checked attribute on the Model property specified as the default value of the checkbox, i.e.,

<%= Html.CheckBox( "Medicamentos", Model.Medicamentos.Checked ) %>

In, which case, assuming that Checked is boolean it will match the correct method signature on the helper extension.

tvanfosson
Ah! Yes, the overload causing the wrong CheckBox method to happen — good guess, I think you're right. (Those reflection-based `Object` arguments are dangerous!)
bobince