¿Por qué un cuadro de texto de solo lectura no devuelve ningún dato en ASP.NET?
textbox readonly (4)
He establecido un cuadro de texto de sólo lectura. Cuando el usuario hace clic en él, se muestra un calendario y el usuario selecciona la fecha de entrada en el cuadro de texto de solo lectura.
Pero cuando intento ingresar los datos en la base de datos, muestra un valor nulo. ¿Qué está mal?
ASP.NET asume que la propiedad Readonly y Enabled = "false" del control web no cambiará. Por lo tanto, no devuelve el valor como se menciona anteriormente por tom. Puede utilizar esta solución. Agregando esto al html no tiene que preocuparse por la propiedad Readonly o el control deshabilitado.
onkeydown="return false;"
El sistema asume que los controles de solo lectura o deshabilitados no se cambiarán en el lado del cliente, por lo que no devuelve el valor modificado al servidor. Debe establecer la propiedad de solo lectura del lado del cliente en lugar de la versión del lado del servidor.
O puede reemplazar el cuadro de texto ASP con texto de tipo de entrada con runat = "Servidor" y luego agregar la propiedad de solo lectura como solo lectura. Revisa el enlace
Hay un poco de extrañeza cuando se trata de la propiedad de readonly
ASP.NET y el atributo de readonly
de un elemento de entrada HTML. En lugar de establecer la propiedad Readonly
del control web, intente simplemente agregar el atributo HTML al control de esta manera:
textBox.Attributes.Add("readonly", "readonly");
Esto hará que el control sea de solo lectura en el navegador del cliente y aún así le permita recuperar el valor de la entrada cuando vuelva a publicar en el servidor.