2010-05-03 4 views
1

Il ne semble pas que l'aide Html.CheckBoxFor ajoute l'attribut "checked" correct lors du rendu du code HTML.Html.CheckBoxFor() vérifié problème dans ASP.Net MVC 2

J'ai une propriété bool rendu comme ceci:

<%= Html.CheckBoxFor(m => m.Visible) %> 

Et le code HTML fourni en sortie est ceci:

<input type="checkbox" value="true" name="Visible" id="Visible"> 

Y at-il une raison particulière, il n'ajoute pas « vérifié » attribut lorsque le la valeur est vraie?

Répondre

4

C'était un problème stupide. J'avais oublié d'ajouter les fixations pour mon nouveau champ Visible et je l'avais seulement ajouté à ma classe POCO, donc c'était toujours faux. En outre, la valeur de la balise d'entrée était un hareng rouge comme il est toujours définie sur true, la valeur réelle provient d'un champ caché rendu juste en dessous de la balise d'entrée comme ceci:

<input type="hidden" value="false" name="Visible"> 
+1

nous montrent plutôt comme une solution. – Forer

0

J'ai essayé cette solution:

 <%if (Model.Enabled == true) 
          { %> 
          <input id="Enabled" checked="checked" 
          type="checkbox" name="Enabled" 
          value ="True" /> 
          <%} 
          else 
          { %> 
          <input id="Enabled" 
          type="checkbox" name="Enabled" 
          value ="False" /> 
          <%} %> 

Merci