none
Como evitar que puedan editar ciertos campos RRS feed

  • Pregunta

  • Hola buenas tardes, les solicito ayuda por favor en lo siguiente : sucede que tengo que poder editar solamente un campo de PERSONA, pero en el EDIT por defecto que crea mvc 4 al momento de crearlo, perimite editar todos los campos de PERSONA, yo quiero que los demas campos los muestre pero que no se puedan modificar

    CODIGO DE LA VISTA

    @using (Html.BeginForm()) {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)

        <fieldset>
            <legend>DETALLE_BENEFICIO</legend>

            <div class="">
                @Html.LabelFor(model => model.RUN_BENEFICIARIO, "BENEFICIARIO")
            </div>
            <div class="">
                @Html.DropDownList("RUN_BENEFICIARIO", String.Empty)
                @Html.ValidationMessageFor(model => model.RUN_BENEFICIARIO)
            </div>

              <div class="">
                @Html.LabelFor(model => model.ID_BENEFICIO, "BENEFICIO")
            </div>
            <div class="">
                @Html.DropDownList("ID_BENEFICIO", String.Empty)
                @Html.ValidationMessageFor(model => model.ID_BENEFICIO)
            </div>

    giuseppe

    domingo, 14 de junio de 2015 21:42

Respuestas

  • Hola,

    tambien puedes realizar lo siguiente. Ponerlo en modo readonly

    @Html.TextBoxFor(m => m.NOMBRE_PERSONA, new { @readonly="readonly" })

    o inclusive deshabilitarlo

     @Html.DropDownList("RUN_BENEFICIARIO", String.Empty, new { @disabled = "disabled" })


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    lunes, 15 de junio de 2015 8:13
    Moderador

Todas las respuestas

  • Para mostrar los valores de un campo sin mostrar el control de edición puedes usar el método de extensión del HtmlHelper DisplayFor:

    @Html.DisplayFor(model => model.ID_BENEFICIO)


    lunes, 15 de junio de 2015 7:37
  • Hola,

    tambien puedes realizar lo siguiente. Ponerlo en modo readonly

    @Html.TextBoxFor(m => m.NOMBRE_PERSONA, new { @readonly="readonly" })

    o inclusive deshabilitarlo

     @Html.DropDownList("RUN_BENEFICIARIO", String.Empty, new { @disabled = "disabled" })


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    lunes, 15 de junio de 2015 8:13
    Moderador
  • OJO, y además de lo que te han dicho en las respuestas anteriores, también tienes que editar el método de acción en el controlador y quitar el código que graba esos campos. De lo contrario, tienes un problema de seguridad, ya que a pesar de que el campo no sea editable en pantalla, un usuario malintencionado podría falsificar una petición que modifique esos campos (por ejemplo, usando Fiddler) y enviar valores modificados para que se graben.
    lunes, 15 de junio de 2015 8:41
  • Muy buen apunte Alberto, gracias por el aviso

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 15 de junio de 2015 8:48
    Moderador
  • Muchas gracias!!!!!!!!!!!!!!!!!!!!!!!!!!!

    giuseppe

    martes, 16 de junio de 2015 23:43