2010-01-29 4 views
2

Pour une raison quelconque, un helper html sort ce html qui ne valide pas.asp.net mvc et xhtml valide?

le validateur me dit

Il n'y a pas d'attribut "Longueur"

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

est sortie

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

Quel est votre doctype? –

+0

De plus, avez-vous des annotations de données sur votre modèle? –

+0

Je doute qu'il soit émis directement. Aussi loin que je me souvienne, votre appel HtmlHelper rendrait par défaut une case à cocher sans l'attribut checked = "checked", et je suspecte que length = "4" vient aussi d'ailleurs. Vous voudrez peut-être vérifier votre code. – Chris

Répondre

1

Je suppose qu'il est correspondant à la signature qui prend une chaîne et un objet puisque je ne sais pas ce qu'est Model.Medicamentos. Dans ce cas, il prend les propriétés de l'objet et les transforme en attributs sur l'élément. Je soupçonne que vous souhaitez simplement utiliser l'attribut Checked sur la propriété modèle spécifié comme la valeur par défaut de la case à cocher, c.-à-

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

Dans, ce cas, en supposant que Checked est booléen, il correspondra à la signature de la méthode correcte sur l'extension d'aide.

+0

Ah! Oui, la surcharge causant la mauvaise méthode CheckBox se produire - bonne supposition, je pense que vous avez raison. (Ces arguments 'Object' basés sur la réflexion sont dangereux!) – bobince