FormatException: Html.CheckBox (), UpdateModel () e l'input nascosto
-
19-08-2019 - |
Domanda
Ho la mia casella di controllo per un campo bool come questo a mio avviso:
=Html.CheckBox("Active", ViewData["Active"] != null ? ViewData["Active"] : (ViewData.Model.Active != null ? ViewData.Model.Active : false)
puoi dimenticare la lanugine se ti piace:
=Html.CheckBox("Active", ViewData.Model.Active)
.. provoca lo stesso problema.
quando provo ad aggiornare il mio modello con:
UpdateModel(vacancy, Request.Form.AllKeys);
... ottengo il ritorno dell'array di oggetti con due campi bool. ok, quindi capisco la necessità del campo nascosto. ma sto usando MVC Beta e credo che i dati di post non vengano elaborati correttamente da UpdateModel. ottengo questo errore: System.FormatException " String non è stato riconosciuto come un valore booleano valido. & Quot; ..quando il modulo viene postato a volte. Quello che voglio dire è che il modulo funziona bene, salvando stati veri e falsi, tranne quando un altro campo nel modulo è vuoto. quindi si lamenta del "vero, falso" valore. e va bene. capisco che una stringa "vero, falso" non è un bool valido ma a volte si lamenta e altre volte funziona? per favore aiutate
EDIT: per favore, se some1 può anche suggerire un altro approccio al metodo UpdateModel (), lo guarderò. sospetto però che mi manchi qualcosa di semplice.
MODIFICA 2: questo sembra essere un bug noto in MVC Beta ( http: / /www.codeplex.com/aspnet/WorkItem/View.aspx?WorkItemId=2671&FocusElement=CommentTextBox ). qualcuno può suggerire una soluzione alternativa?
Soluzione
Risolto in ASP.net MVC 1.0
(aggiunta la risposta in modo da poter eliminare la domanda da senza risposta
)