Inicio > Uncategorized > TextBox de solo lectura en ASP .NET

TextBox de solo lectura en ASP .NET

Miércoles, 7 de febrero de 2007 Dejar un comentario Ir a comentarios

Un problema que he encontrado hace poco en las páginas ASP .NET es que cuando defino la propiedad ReadOnly de un TexBox en true o la propiedad Enabled en false para evitar que un usuario modifique el contenido de la cajita de texto, dicho valor se pierde cuando hago un postback en la página, ya sea por hacer click en un botón o seleccionar un elemento de un DropDownList o cualquier otro caso.

Una forma que encontré de evitar este problema era con esta instrucción para la definición de la caja de texto:

<asp:TextBox ID=”txtCaja” runat=”server” OnKeyDown=”return false;” OnContextMenu=”return false;” />

Al utilizar el evento OnKeyDown del modelo de objetos del navegador, le indicamos que haga nada cuando se pulsa una tecla, eso evita que alguien escriba en la caja de texto.

El evento OnContextMenu se desencadena cuando pulsamos el botón derecho del mouse y con esa instrucción le indicamos que no muestre el menú contextual, lo que evita que el usuario haga Clic derecho y pegar.

Ahora si, con estos dos atributos podremos evitar que cambien nuestros datos y los mantendremos en cada postback, y lo mejor es que lo probé en Internet Explorer y en Firefox y en ambos casos funciona.

Saludos.

Categories: Uncategorized
 

  1. racky22
    Miércoles, 30 de mayo de 2007 a las 12:46 | #1

    Hola! Pues yo tengo el mismo problema que tu, pero utilizando tu solición no me funciona.
    Mi problema es qeu si lo realizo por codigo si me coge el dato, pero esta vez necesito hacerlo por javascript y no consigo hacerlo funcionar.

    Un Saludo. Si alguien me puede ayudar o se ha encontrado con elmismo problema que yo.

  2. RONAL
    Lunes, 4 de junio de 2007 a las 16:09 | #2

    exelente lo felicito

  3. lunet
    Jueves, 23 de agosto de 2007 a las 10:19 | #3

    Gracias, estaba empezando a desesperarme, pero probé tu solución y me funciona perfectamente.

  1. Sin trackbacks aún.