Los controles son pequeños bloques funcionales en una interfaz gráfica de usuario que incluyen cuadros de texto, botones, casillas de verificación, cuadros de lista, etiquetas y muchas otras herramientas. Con estas herramientas, los usuarios pueden ingresar datos, realizar selecciones e indicar sus preferencias.
Los controles también se utilizan para trabajos estructurales como validación, acceso a datos, seguridad, creación de páginas maestras y manipulación de datos.
ASP.NET utiliza cinco tipos de controles web, que son:
Control HTML
control del servidor HTML
Controles del servidor ASP.NET
Control del servidor ASP.NET Ajax
Controles de usuario y controles personalizados
Los controles del servidor ASP.NET son los controles principales utilizados en ASP.NET. Estos controles se pueden dividir en las siguientes categorías:
Controles de validación : se utilizan para validar la entrada del usuario y el trabajo mediante la ejecución de scripts del lado del cliente.
Control de fuente de datos : proporciona capacidades de enlace de datos a diferentes fuentes de datos.
Control de vista de datos : este control es una variedad de listas y tablas que pueden mostrar datos vinculados desde una fuente de datos.
Controles de personalización : personalice las páginas según la información del usuario según las preferencias del usuario.
Controles de inicio de sesión y seguridad : proporciona autenticación de usuario.
Página maestra : proporciona un diseño y una interfaz coherentes en toda la aplicación.
Controles de navegación : ayudan a los usuarios a navegar. Por ejemplo, menú, vista de árbol, etc.
Controles de funciones enriquecidos : implemente funciones especiales. Por ejemplo: controles AdRotator, FileUpload y Calendar.
La sintaxis básica para usar controles de servidor es:
<asp:controlType ID ="ControlID" runat="server" Property1=value1 [Property2=value2] />
Además, Visual Studio tiene las siguientes características para ayudar a producir código sin errores:
Arrastre y suelte controles en la vista Diseño.
Capacidades de IntelliSense para funciones de visualización y autocompletar.
Ventana de propiedades para configurar valores de propiedad directamente.
Los controles del servidor ASP.NET con capacidades visuales se derivan de la clase WebControl y heredan todas las propiedades, eventos y métodos de esta clase.
La propia clase WebControl y otros controles de servidor que no tienen capacidades visuales se derivan de la clase System.Web.UI.Control. Por ejemplo, control PlaceHolder o control XML.
Los controles del servidor ASP.Net heredan todas las propiedades, eventos y métodos de las clases WebControl y System.Web.UI.Control.
La siguiente tabla muestra propiedades comunes a todos los controles de servidor:
propiedad | describir |
---|---|
Clave de acceso | Presione esta tecla y la tecla Alt simultáneamente para mover el foco al control. |
Atributos | Es una colección de propiedades arbitrarias que no corresponden a las propiedades de control (utilizadas sólo para la representación de vistas). |
Color de fondo | Color de fondo. |
Contenedor vinculante | Contiene controles vinculados a datos. |
Color del borde | Color del borde. |
Estilo de borde | Estilo de borde. |
Ancho del borde | Ancho del borde. |
CausasValidación | Se muestra cuando se produce la verificación. |
ChildControlCreado | Indica si los controles secundarios del control del servidor están establecidos. |
ID de cliente | El ID de control de la etiqueta HTML. |
Contexto | El objeto HttpContext asociado con el control del servidor. |
Controles | Una colección de todos los controles dentro del control. |
Estilo de control | Estilos para controles de servidor web. |
Clase Css | Clases CSS. |
Contenedor de elementos de datos | Proporciona una referencia al nombre si implementa un IDataItemContainer. |
Contenedor de claves de datos | Proporciona una referencia para el nombre si implementa IDataKeysControl. |
Modo Diseño | Indica si el control se utiliza en la interfaz de diseño. |
Clase CSS deshabilitada | Obtiene o establece la clase CSS que se aplicará al elemento HTML representado cuando el control está deshabilitado. |
Activado | Indica si el control está deshabilitado. |
Habilitar tematización | Indica si el tema se aplica al control. |
Habilitar estado de vista | Indica si se debe mantener el estado de vista del control. |
Eventos | Obtiene una lista de controladores de eventos que representan el control. |
Fuente | Configuración de fuentes. |
color frontal | Color de primer plano. |
Tiene atributos | Indica si el control tiene grupos de propiedades. |
TieneChildViewState | Indica si los controles secundarios del control de servidor actual tienen alguna configuración de estado de vista guardada. |
Altura | Altura en píxeles o porcentaje. |
IDENTIFICACIÓN | El identificador del control. |
IsChildControlStateCleared | Indica si el control contenido dentro de este control tiene estado de control. |
Está habilitado | Obtiene un valor que indica si el control está habilitado. |
IsTrackingViewState | Indica si el control del servidor guardará los cambios en su estado de vista. |
IsViewStateEnabled | Indica si el estado de vista está habilitado para este control. |
CargarViewStateById | Indica si el control participa en la carga de su estado de vista por ID en lugar de índice. |
Página | La página que contiene el control. |
Padre | Funciones de control parental. |
Compatibilidad de renderizado | Especifica la versión de ASP.NET con la que será compatible el HTML renderizado. |
Sitio | El titular que contiene el control actual cuando se muestra la interfaz de diseño. |
ID de piel | Obtiene o fija la piel aplicada al control. |
Estilo | Obtiene una colección de propiedades de texto que se mostrarán como propiedades de estilo en la etiqueta externa del control del servidor web. |
Índice de pestañas | Obtiene o establece la etiqueta de índice del control del servidor web. |
Clave de etiqueta | Obtiene el valor HtmlTextWriterTag correspondiente a este control de servidor web. |
Nombre de etiqueta | Obtiene el nombre de la etiqueta de control. |
Control de plantilla | La plantilla que contiene el control. |
DirectorioFuentePlantilla | Obtiene el directorio virtual de la página o control contenido dentro de este control. |
Información sobre herramientas | Obtiene o establece el texto que se muestra cuando el puntero del mouse está sobre el control del servidor web. |
ID único | Identificador único. |
Ver estado | Obtiene un diccionario de información de estado capaz de guardar y restaurar el estado de la vista de control del servidor en múltiples solicitudes a la misma página. |
VerEstadoIgnorarCaso | Indica si el objeto StateBag no distingue entre mayúsculas y minúsculas. |
Modo de estado de vista | Obtiene o establece el estado de vista de este control. |
Visible | Indica si el control del servidor es visible. |
Ancho | Obtiene o establece el ancho del control del servidor web. |
Los métodos del control del servidor se presentan en la siguiente tabla:
método | describir |
---|---|
Agregar atributos para renderizar | Agregue los atributos y estilos HTML necesarios para representar el HtmlTextWriterTag especificado. |
Control agregado | Se llama después de agregar un control secundario a la colección de controles del objeto de control. |
Agregar subobjeto analizado | Notifica al control de servidor que se ha analizado un elemento, XML o HTML, y agrega el elemento a la colección de controles del control de servidor. |
AplicarEstiloHojaPiel | Aplica las propiedades de estilo definidas en la hoja de estilos de la página a los controles. |
Borrar ID de cliente en caché | infraestructura. Establezca el valor ClientID almacenado en caché en nulo. |
Borrar estado de control infantil | Elimina la información del estado del control para los controles secundarios del control del servidor. |
BorrarEstadoHijo | Elimina la información del estado de visualización y del estado de control de todos los controles secundarios del control del servidor. |
BorrarEstadoViewChild | Elimina la información del estado de visualización de todos los controles secundarios del control del servidor. |
Crear controles infantiles | Se utiliza para crear controles secundarios. |
CrearColecciónControl | Cree una nueva colección de controles para contener controles secundarios. |
Crear estilo de control | Crea un objeto de estilo que implementa todas las propiedades relacionadas con el estilo. |
Enlace de datos | Vincule la fuente de datos al control del servidor y todos sus controles secundarios. |
Enlace de datos (booleano) | Vincule la fuente de datos y las opciones que generan el evento DataBinding al control del servidor y a todos sus controles secundarios. |
DataBindNiños | Vincule la fuente de datos a un control secundario del control del servidor. |
Disponer | Permite que un control de servidor realice operaciones de limpieza finales antes de liberarlo de la memoria. |
Garantizar controles infantiles | Determina si el control del servidor contiene controles secundarios. Si no, cree un control infantil. |
Asegurar ID | Cree un identificador para un control que no lo tenga. |
Igual a(Objeto) | Determina si el objeto especificado es igual al objeto actual. |
Finalizar | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de que el objeto sea reclamado por la Papelera de reciclaje. |
BuscarControl(Cadena) | Busca en el contenedor con nombre actual controles de servidor con el parámetro de identificación especificado. |
BuscarControl(Cadena, Int32) | Busca en el contenedor con nombre actual controles de servidor con el parámetro de identificación y el número entero especificados. |
Enfocar | Establezca el foco de entrada para el control. |
Obtener estado del modo de diseño | Obtiene los datos en tiempo de diseño del control. |
Obtener tipo | Obtenga el tipo de instancia actual. |
Obtener ID única relativa a | Devuelve la parte prefijada de la propiedad ID única del control especificado. |
Tiene controles | Determina si el control del servidor contiene controles secundarios. |
TieneEventos | Indica si el evento está registrado por el control u otros controles secundarios. |
EsLiteralContenido | Determina si el control del servidor contiene solo contenido de texto. |
Estado de control de carga | Restaurar la información del estado de control. |
Estado de vista de carga | Restaurar la información del estado de la vista. |
MapaRutaSeguro | Recupera la ruta física a la que está asignada una ruta virtual absoluta o relativa. |
Clonar por miembros | Crea una copia superficial del objeto actual. |
Fusionar estilo | Copia cualquier elemento que no esté en blanco del control web con el estilo especificado, pero no sobrescribe ningún elemento de estilo existente del control. |
En evento de burbuja | Determina si los eventos del control del servidor pasan a través de la jerarquía de control del servidor de la interfaz de usuario de la página. |
Enlace de datos | Generar un evento de enlace de datos. |
Al iniciar | Genera el evento Init. |
En carga | Genera un evento de carga. |
EnPrerenderizado | Genera el evento PreRender. |
En descarga | Genera un evento de desinstalación. |
Abrir archivo | Obtenga la secuencia utilizada para leer el archivo. |
EliminadoControl | Se llama después de que se elimina un control secundario de la colección de controles del objeto de control. |
Prestar | Muestra el control al autor HTML especificado. |
Etiqueta de inicio de renderizado | Muestra la etiqueta de apertura HTML del control al autor especificado. |
RenderNiños | Genera el contenido de los elementos secundarios del control del servidor en el objeto HtmlTextWriter proporcionado para escribir el contenido que se representa en el cliente. |
Renderizar contenidos | Muestra el contenido del control al autor especificado. |
Control de renderizado (HtmlTextWriter) | Envía el contenido del control del servidor al objeto HtmlTextWriter proporcionado y guarda la información de seguimiento sobre el control si el seguimiento está habilitado. |
RenderEndTag | Muestra la etiqueta de cierre HTML del control al autor especificado. |
Adaptador de resolución | Obtiene el adaptador de control responsable de representar el control especificado. |
Guardar estado de control | Guarda los cambios de estado en los controles del servidor que se han producido desde que la página se volvió a publicar en el servidor. |
GuardarVerEstado | Guarda cualquier estado modificado después de llamar al método TrackViewState. |
Establecer estado de modo de diseño | Establezca datos en tiempo de diseño para el control. |
Para cadena | Devuelve una cadena que representa el objeto actual. |
Estado de vista de pista | Hace que un control rastree los cambios en su estado de vista para que puedan almacenarse en la propiedad ViewState del objeto. |
Echemos un vistazo a un control de servidor específico: el control de vista de árbol. Los controles de la vista de árbol son controles de navegación. Otros controles de navegación son: control de menú y control SiteMapPath.
Agregue un control de vista de árbol a la página. Seleccione Editar nodos... de la tarea y edite cada nodo usando el editor de nodos de la vista de árbol de la siguiente manera:
Una vez creado correctamente el nodo, aparecerá la siguiente pantalla en la vista de diseño:
La tarea Autoformato... le permite especificar el formato de la vista de árbol de la siguiente manera:
Agregue un control de etiqueta y un control de cuadro de texto en la página y asígneles el nombre respectivamente lblmessage y txtmessage.
Escriba algunas líneas de código para asegurarse de que cuando se seleccione un nodo específico, el control de etiqueta muestre el texto del nodo y el cuadro de texto muestre todos los nodos secundarios debajo de él (si los hay). El código para el archivo de fondo debería verse así:
using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;namespace eventdemo { public partial class treeviewdemo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { txtmessage.Text = " "; } protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { txtmessage.Text = " "; lblmessage.Text = "Selected node changed to: " + TreeView1.SelectedNode.Text; TreeNodeCollection childnodes = TreeView1.SelectedNode.ChildNodes; if(childnodes != null) { txtmessage.Text = " "; foreach (TreeNode t in childnodes) { txtmessage.Text += t.Value; } } } }}
Ejecute la página para ver el efecto y podrá expandir y contraer nodos.