none
Checkbox RRS feed

  • Pregunta

  • C#, MVC, RAZOR

    Tengo un problema muy raro, tengo este codigo : 

    <div class="col-md-2">
                                <div>
                                    @Html.CheckBoxFor(model => model.Cargador)
                                    <label><span></span> Cargador</label>
                                </div>
                                @Html.ValidationMessageFor(model => model.Cargador, "", new { @class = "text-danger" })
                            </div>

    Cuando compilo para ver la pagina lo primero es que no salen los checkbox, lo segundo es que al ver el codigo HTML me aprece esto : 

    <input data-val="true" data-val-required="The Cargador field is required." id="Cargador" name="Cargador" type="checkbox" value="true">

    <input name="Cargador" type="hidden" value="false">

    El checkbox me aparece dos veces un hidden y el otro normal como sucede esto no se, alguien puede ayudarme.


    Juan A. Reyes

    martes, 22 de diciembre de 2015 14:20

Todas las respuestas

  • hola

    >>Cuando compilo para ver la pagina lo primero es que no salen los checkbox,

    como que no salen los checkbox? o sea no visualizas el check en el browser

    no entiendo como puede haber un <input type="checkbox"... en el html y en el browser no ver el control

    >>El checkbox me aparece dos veces un hidden y el otro normal como sucede esto no se

    pero entonces parece los checkbox o no? porque es algo contradictorio lo que comentas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 22 de diciembre de 2015 14:56
  • No creo que sea contradictorio si tengo la prueba de lo que estoy comentando y esta ahy y no se como esta pasando esto.

    Juan A. Reyes

    miércoles, 23 de diciembre de 2015 11:06
  • hola

    Es contradictorio como te explicas, vuelve a leer lo que has escrito, al principi mencionas que no se visualizan los checkbox, pero despues mencionas que parecen pero con hidden, la verdad no se entiende

    si creas un proyecto nuevo, algo bien simple, usa el template de base de mvc y creas un checkbox con el helper sucede lo mismo ? si es asi podrias hacer un zip de ese ejemplo y publicarlo, quizas usando onedrive

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 23 de diciembre de 2015 11:14
  • Esta claro que expreso y pongo lo que apararece en el codigo HTML es asi tal y como aparecen en el codigo HTML

    <input data-val="true" data-val-required="The Cargador field is required." id="Cargador" name="Cargador" type="checkbox" value="true">

    <input name="Cargador" type="hidden" value="false">

    Pero no se ve, osea esta ahy y lo que no entiendo es como esta generando otro input tipo hidden cuando tengo solo este 

    @Html.CheckBoxFor(model => model.Cargador)


    Juan A. Reyes

    miércoles, 23 de diciembre de 2015 11:22
  • Es normal que te cree dos inputs un checkbox y un hidden para representar el valor.

    ASP.NET MVC crea estos dos controles porque los navegadores no envían la información de los checkbox que no están marcados. Al crear el campo oculto el framework de MVC se asegura de que se va a recibir un valor cuando el checkbox no esté marcado.



    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Propuesto como respuesta Willams Morales miércoles, 23 de diciembre de 2015 14:25
    miércoles, 23 de diciembre de 2015 12:45
  • Ok, fijate, viste el codigo que me genera en el html :

    Esto es lo que tengo en el html : 

    <input data-val="true" data-val-required="The Cargador field is required." id="Cargador" name="Cargador" type="checkbox" value="true">

    <input name="Cargador" type="hidden" value="false">

    y en el Razor tengo esto :

    @Html.CheckBoxFor(model => model.Cargador)

    cuando preciono F12 herramientas de desarrollador y voy al codigo html y elimino el este :

    <input name="Cargador" type="hidden" value="false">

    Entonces hay se muestra el Checkbox 


    Juan A. Reyes

    miércoles, 23 de diciembre de 2015 14:40
  • No debería pasar eso. Revisa los estilos que se aplican al checkbox para ver si es debido a alguno de ellos.

    ¿Te pasa con cualquier navegador o con alguno en concreto?


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    miércoles, 23 de diciembre de 2015 20:52