recientemente nos pasaron un .NET MVC 3 4 existente proyecto para .NET 4.5 y MVC 4.Cómo evitar cambios de última hora de MVC4 en cómo se hace Bools en una vista
donde tuvimos este tipo de cosas en una Ver:
@Model.MyBool
<input type="hidden" name="foo" value="@Model.MyBool" />
que utiliza para representar como:
True
<input type="hidden" name="foo" value="True" />
o:
False
<input type="hidden" name="foo" value="False" />
Pero ahora se renderiza como:
True
<input type="hidden" name="foo" value="value" />
o:
False
<input type="hidden" name="foo" />
Es decir, que una propiedad booleana se representan en la vista como el valor del atributo de valor de un campo oculto, que doesn' t se representa como True
o False
(como lo hace en cualquier otro lugar), pero se representa como value
, o se pierde por completo el atributo.
dos preguntas:
- WTF?
- ¿Hay alguna manera fácil y fácil de solucionar la multitud de lugares que esto ha roto mi aplicación? Es una gran aplicación y no me gusta navegar a través de cada vista para tratar de identificar todos los lugares donde coloco un bool en un campo de entrada.
vergüenza. Solía no usar 'Html.Hidden (...)' porque no quería un 'id' en mis escondites (hay muchas instancias de la misma Vista parcial en la misma página). Y la forma en que lo escribí lo hizo para un código más legible, en mi humilde opinión. Bueno, esa es mi excusa de todos modos. Gracias. – teedyay
@teedyay ¿qué tiene de malo tener un 'id' en cada escondido? –
Debido a que tuve muchas instancias de la misma vista parcial, eso me hubiera dado muchos elementos con el mismo 'id', lo cual no es agradable. – teedyay