ASP.NET de controles de servidor

En este artículo se ASP.NET controles de servidor, como controles de servidor HTML, controles de servidor web, controles de lista, etc.

Versión del producto original:   ASP.NET
Número KB original:   306459

En este artículo se hace referencia a los siguientes espacios de nombres .NET Framework biblioteca de clases de Microsoft:

  • System.Web.UI.HtmlControls.HtmlControl
  • System.Web.UI.WebControls.WebControl

Controles de servidor en ASP.NET marco de páginas

El ASP.NET de página incluye una serie de controles de servidor integrados que están diseñados para proporcionar un modelo de programación más estructurado para la Web. Estos controles proporcionan las siguientes características:

  • Administración automática de estado.
  • Acceso sencillo a los valores de objeto sin tener que usar el Request objeto.
  • Capacidad de reaccionar ante eventos en código del lado servidor para crear aplicaciones mejor estructuradas.
  • Enfoque común para crear interfaces de usuario para páginas web.
  • La salida se personaliza automáticamente en función de las capacidades del explorador.

Además de los controles integrados, el marco ASP.NET página también proporciona la capacidad de crear controles de usuario y controles personalizados. Los controles de usuario y los controles personalizados pueden mejorar y ampliar los controles existentes para crear una interfaz de usuario mucho más enriqueciendo.

Controles de servidor HTML

Los controles de servidor HTML son elementos HTML que incluyen un runat=server atributo. Los controles de servidor HTML tienen la misma salida HTML y las mismas propiedades que sus etiquetas HTML correspondientes. Además, los controles de servidor HTML proporcionan administración automática del estado y eventos del lado servidor. Los controles de servidor HTML ofrecen las siguientes ventajas:

  • Los controles del servidor HTML asignan uno a uno con sus etiquetas HTML correspondientes.
  • Cuando se compila ASP.NET aplicación, los controles del servidor HTML con el runat=server atributo se compilan en el ensamblado.
  • La mayoría de los controles incluyen un evento para el evento más usado OnServerEvent para el control. Por ejemplo, el <input type=button> control tiene un OnServerClick evento.
  • Las etiquetas HTML que no se implementan como controles de servidor HTML específicos aún se pueden usar en el lado del servidor; sin embargo, se agregan al ensamblado como HtmlGenericControl .
  • Cuando se vuelve ASP.NET página, los controles de servidor HTML mantienen sus valores.

La System.Web.UI.HtmlControls.HtmlControl clase base contiene todas las propiedades comunes. Los controles de servidor HTML derivan de esta clase.

Para usar un control de servidor HTML, use la siguiente sintaxis (que usa el HtmlInputText control como ejemplo):

<input type="text" value="hello world" runat=server />

Para obtener más información acerca de los controles de servidor HTML individuales que están disponibles en ASP.NET, vea los siguientes sitios web:

Controles de servidor web

Los controles web son similares a los controles de servidor HTML como Button, TextBox e Hyperlink, excepto que los controles web tienen un conjunto estandarizado de nombres de propiedades. Los controles de servidor web ofrecen las siguientes ventajas:

  • Facilita a los fabricantes y desarrolladores la creación de herramientas o aplicaciones que generen automáticamente la interfaz de usuario.
  • Simplifique el proceso de creación de formularios web interactivos, lo que requiere menos conocimiento de cómo funcionan los controles HTML y hacer que la tarea de usarlos sea menos propensa a errores.

La System.Web.UI.WebControls.WebControl clase base contiene todas las propiedades comunes. La mayoría de los controles de servidor web derivan de esta clase.

Para usar un control de servidor web, use la siguiente sintaxis (que usa el control TextBox como ejemplo):

<asp:textbox text="hello world" runat=server />

Los controles de servidor web se pueden dividir en cuatro categorías:

  • Controles web básicos
  • Controles de validación
  • Controles de lista
  • Controles enriquecidos

Controles web básicos

Los controles web básicos proporcionan la misma funcionalidad que sus equivalentes de control de servidor HTML. Sin embargo, los controles web básicos incluyen métodos, eventos y propiedades adicionales con los que puede programar.

Para obtener más información acerca de los controles web individuales que están disponibles en ASP.NET, vea los siguientes sitios web:

Controles de validación

Los controles de validación se usan para validar los valores que se introducen en otros controles de la página. Los controles de validación realizan la validación del lado cliente, la validación del lado servidor o ambas, según las capacidades del explorador en el que se muestre la página. Los controles de validación ofrecen las siguientes ventajas:

  • Puede asociar uno o más controles de validación con cada control que desee validar.
  • La validación se realiza cuando se envía el formulario de página.
  • Puede especificar mediante programación si se debe realizar la validación, lo que resulta útil si desea proporcionar un botón cancelar para que el usuario pueda salir sin tener que rellenar datos válidos en todos los campos.
  • Los controles de validación detectan automáticamente si la validación debe realizarse en el lado cliente o en el lado del servidor.

Nota

Una validación del lado cliente detecta errores antes de que se complete una operación de devolución. Por lo tanto, si tiene combinaciones de controles de validación del lado cliente y del lado servidor en una sola página, la validación del lado servidor se preferenciará si se produce un error en una validación del lado cliente. Para obtener más información acerca de los controles de validación individuales que están disponibles en ASP.NET, consulte los siguientes sitios web:

Enumerar controles

Los controles de lista son controles de servidor web especiales que admiten el enlace a colecciones. Puede usar controles de lista para mostrar filas de datos en un formato personalizado de plantilla. Todos los controles de lista exponen las propiedades DataSource y DataMember, que se usan para enlazar a colecciones.

Los controles de lista solo pueden enlazarse a colecciones compatibles con las interfaces IEnumerable, ICollection o IListSource. Por ejemplo, una página de ejemplo de visual C# .NET aparece de la siguiente manera:

<%@ Page Language="C#" %>
<script runat="server">
    Public void Page_Load()
    {
        String[] myStringArray = new String[] {"one","two","three"};
        rptr.DataSource = myStringArray;
        rptr.DataBind();
    }
</script>
<html>
    <body>
        <asp:repeater id=rptr runat="server">
            <itemtemplate><%# Container.DataItem %><br></itemtemplate>
        </asp:repeater>
    </body>
</html>

Una Visual Basic de ejemplo de .NET aparece de la siguiente manera:

<%@ Page Language="vb" %>
<script runat="server">
    public sub Page_Load()
        Dim myStringArray as String()
        myStringArray = new String() {"one","two","three"}
        rptr.DataSource = myStringArray
        rptr.DataBind()
    end sub
</script>
<html>
    <body>
        <asp:repeater id=rptr runat="server">
            <itemtemplate><%# Container.DataItem %><br></itemtemplate>
        </asp:repeater>
    </body>
</html>

El resultado aparece de la siguiente manera:

  • Ninguno
  • two
  • three

Para obtener más información acerca de los controles de lista individuales que están disponibles en ASP.NET, vea los siguientes sitios web:

Controles enriquecidos

Además de los controles anteriores, el marco ASP.NET página proporciona unos cuantos controles específicos de tareas denominados controles enriquecidos. Los controles enriquecidos se construyen con varios elementos HTML y contienen una funcionalidad enriqueciendo. Ejemplos de controles enriquecidos son el control Calendar y el control AdRotator.

Para obtener más información acerca de los controles enriquecidos individuales que están disponibles en ASP.NET, vea los siguientes sitios web:

Controles de usuario

A menudo, es posible que desee volver a usar la interfaz de usuario del formulario web sin tener que escribir ningún código adicional. ASP.NET permite hacerlo mediante la conversión de la Web Forms en controles de usuario. Los controles de usuario, que tienen la extensión de archivo .ascx, se pueden usar varias veces en un único formulario web.

Para convertir un formulario web en un control de usuario, siga estos pasos:

  1. Quite todas <html> las <head> etiquetas <body> , , <form> y.
  2. Si la @ Page directiva aparece en la página, cámbiese a @ Control .
  3. Incluya un atributo en la directiva para que el control de usuario se escriba className @ Control fuertemente al crear una instancia de él.
  4. Asigne al control un nombre de archivo descriptivo y cambie la extensión de archivo de .aspx a .ascx.

Para obtener más información acerca de los controles de usuario, vea Web Forms User Controls.

Controles personalizados

Además de los controles web integrados, ASP.NET también le permite crear sus propios controles personalizados. Puede resultar útil desarrollar controles personalizados si se enfrenta a uno de estos escenarios:

  • Debe combinar la funcionalidad de dos o más controles web integrados.
  • Debe ampliar la funcionalidad de un control integrado.
  • Necesita un control que sea diferente de cualquiera de los controles que existen actualmente.

Para obtener más información acerca del desarrollo de controles personalizados, consulte los siguientes temas: