¿Alguien ha escrito alguna vez una función que pueda convertir todos los controles en una página aspx en una versión de solo lectura? Por ejemplo, si UserDetails.aspx se usa para editar y guardar información de un usuario, si alguien con permisos inapropiados ingresa a la página, me gustaría presentarla como de solo lectura. Por lo tanto, la mayoría de los controles se convertirían en etiquetas, cargadas con los datos correspondientes del control original editable.Cómo convertir todos los controles en un formulario web aspx a un equivalente de solo lectura
creo que probablemente sería una rutina bastante simple, es decir:
Dim ctlParent As Control = Me.txtTest.Parent
Dim ctlOLD As TextBox = Me.txtTest
Dim ctlNEW As Label = New Label
ctlNEW.Width = ctlOLD.Width
ctlNEW.Text = ctlOLD.Text
ctlParent.Controls.Remove(ctlOLD)
ctlParent.Controls.Add(ctlNEW)
... es realmente todo lo que necesita para un cuadro de texto -> conversión de etiquetas, pero yo estaba esperando que alguien podría saber de una existe una función existente, ya que es probable que haya algunas trampas aquí y allá con ciertos controles y situaciones.
Actualización:
- Simplemente establecer la propiedad ReadOnly en true no es una solución viable, ya que parece tonto tener las cosas en gris de esa manera. - Evitar la creación manual de una vista secundaria es el objetivo principal de esto, así que usar una forma ingeniosa para mostrar una versión de solo lectura de la interfaz de usuario que se construyó a mano usando etiquetas es lo que estoy tratando de evitar.
Gracias!