2009-01-17 15 views
1

j'ai ma case à cocher pour un champ bool comme si à mon avis:FormatException: Html.CheckBox(), UpdateModel() et l'entrée cachée

=Html.CheckBox("Active", ViewData["Active"] != null ? ViewData["Active"] : (ViewData.Model.Active != null ? ViewData.Model.Active : false)

vous pouvez oublier le duvet si vous aimez:

=Html.CheckBox("Active", ViewData.Model.Active)

.. provoque le même problème.

lorsque je tente de mettre à jour mon modèle avec:

UpdateModel(vacancy, Request.Form.AllKeys);

..Je obtenir le retour du tableau d'objet avec deux champs booléens. ok, donc je comprends le besoin du champ caché. mais im en utilisant MVC Beta et je crois que les données de publication ne sont pas traitées correctement par UpdateModel. j'obtiens cette erreur: System.FormatException "La chaîne n'a pas été reconnue comme un booléen valide." ..Quand la forme publie parfois. Ce que je veux dire par là, c'est que la forme fonctionne bien, sauvant les états vrai et faux, sauf quand un autre champ sur le formulaire est vide. alors il se plaint de la "vraie, fausse" valeur. et c'est bien. je comprends qu'une chaîne "vrai, faux" n'est pas une booléenne valide mais y est-ce qu'elle se plaint parfois et d'autres fois ça marche? pls aider

EDIT: s'il vous plaît, si some1 peut même suggérer une autre approche de la méthode UpdateModel(), je vais examiner cette question. Je soupçonne que c'est quelque chose de simple que je manque.

EDIT 2: cela semble être un bug connu dans MVC Beta (http://www.codeplex.com/aspnet/WorkItem/View.aspx?WorkItemId=2671&FocusElement=CommentTextBox). quelqu'un peut-il suggérer une solution de contournement?

+0

semble être fixé sur la source qui wont libération jusqu'à ce que MVC RC. une solution de contournement est toujours grandement appréciée !! –

+1

RC publié aujourd'hui :) J'ai eu des problèmes similaires avec les cases à cocher. Mise à jour maintenant – ccook

+0

nice. Je vais vérifier cela –

Répondre

1

Résolu dans ASP.net MVC 1,0

(ajouté la réponse afin que nous puissions éliminer la question de Unanswered)

+0

les données sont bien rangées. haha –