Compartir a través de


Propiedades de los controles de servidor ASP.NET

Las propiedades son similares a los campos aunque tienen métodos de descriptores de acceso. Hay que exponer propiedades en lugar de campos públicos de los controles, ya que las propiedades permiten ocultar datos, crear versiones y son compatibles con los diseñadores visuales, como Visual Studio.NET. Las funciones de descriptor de acceso pueden ejecutar lógica de programa adicional además de definir o recuperar una propiedad. Si no está familiarizado con las propiedades, vea Información general sobre propiedades.

Propiedades heredadas de Control

Para obtener una lista completa de las propiedades que un control hereda de la clase Control, vea System.Web.UI.Control. En la siguiente lista se describen algunas de las propiedades a las que se tiene acceso habitualmente.

  • Controls — La colección de los controles secundarios de un control.
  • ID — Identificador proporcionado por el usuario para un control.
  • Page — La página que contiene el control.
  • Parent — El control a cuya colección Controls pertenece un control. (El control A es un principal del control B si B es un elemento de A.Controls).
  • ViewState — Estructura de datos que se envía al cliente y se devuelve y que se utiliza normalmente para almacenar datos de formulario en las acciones de ida y vuelta. ViewState es de tipo StateBag, un diccionario que almacena datos como el par nombre-valor.
  • EnableViewState — Indica si un control mantiene su estado de vista en las acciones de ida y vuelta. Si un control principal no mantiene su estado de vista, el estado de vista de sus controles secundarios automáticamente no se mantiene.
  • UniqueID — El identificador único cualificado jerárquicamente, que el marco de trabajo de páginas ASP.NET asignó a un control.
  • ClientID — Identificador único asignado a un control por el marco de trabajo de páginas ASP.NET y procesado como el atributo ID HTML en el cliente. El ClientID es distinto al UniqueID, ya que UniqueID puede contener los dos puntos (:), carácter que no es válido en el atributo ID en HTML (y no se permite en los nombres de variables de secuencias de comandos del cliente).
  • Visible — Determina si un control es visible en una página.

Propiedades heredadas de WebControl

Si un control se deriva de WebControl, heredará propiedades adicionales relacionadas con la apariencia visual. Para obtener una lista de propiedades heredadas de WebControl, vea System.Web.UI.WebControl. En la siguiente lista se describen algunas de las propiedades de WebControl a las que se tiene acceso habitualmente.

  • Font — La fuente del control.
  • ForeColor — El color de primer plano del control.
  • BackColor — El color de fondo del control.
  • Height — El alto del control
  • Width — El ancho del control.
  • Attributes — Colección de los pares nombre-valor enviados al cliente como atributos. La propiedad Attributes contiene la unión de atributos definidos de forma declarativa que no corresponden a las propiedades (o eventos) del control y los definidos mediante programación.

WebControl también expone varios estilos de hoja de estilo en cascada (CSS) adicionales como propiedades con establecimiento inflexible de tipos.

Personalizar las propiedades heredadas

Los controles pueden reemplazar una propiedad heredada para personalizarla. Para reemplazar una propiedad, se reemplazan sus descriptores de acceso. En el siguiente ejemplo se muestra un control que se deriva de Button y reemplaza la propiedad BackColor para que el color de fondo siempre sea el verde.

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
namespace CustomControls
{
public class DerivedButton : Button
  {
   public DerivedButton() : base()
       {
          base.BackColor = Color.Green;
       }
   public override Color BackColor
   {
      get
         {
            return base.BackColor; 
          }
      set
         {
             // Do nothing.
         }
   }

  }
}
[Visual Basic]
Option Explicit
Option Strict

Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Drawing

Namespace CustomControls
   Public Class DerivedButton
      Inherits Button
      
      Public Sub New()
         MyBase.BackColor = Color.Green
      End Sub
      
      Public Overrides Property BackColor() As Color
         Get
            Return MyBase.BackColor
         End Get
         Set
            ' Do nothing.
         End Set
      End Property 
   End Class
End Namespace

También es posible modificar los metadatos de una propiedad; para ello, hay que reemplazar (o proporcionar) un atributo. En el siguiente fragmento de código se muestra cómo se oculta la propiedad BackColor en el examinador de propiedades de un diseñador como Visual Studio.NET, cambiando BrowsableAttribute a false.

[Browsable(false)]
public override Color BackColor{...}
[Visual Basic]
<Browsable(False)> _
Public Overrides Property BackColor() As Color
   ...
End Property

Vea también

Definir una propiedad | Tipos de propiedades | Ejemplo de propiedad personalizada