Compartir a través de


Secuencias de comandos del cliente en páginas de formularios Web Forms

Si sabe que los usuarios de sus páginas de formularios Web Forms tienen exploradores de nivel superior, puede agregar nuevas funcionalidades a las páginas si incluye secuencias de comandos de cliente que se ejecuten en el explorador, aparte de los controles de servidor que utilice.

Nota   Para obtener más información sobre los exploradores de nivel superior y de nivel inferior, vea Controles de servidor ASP.NET y funciones del explorador.

Dado que secuencias de comandos de cliente se ejecutan en el explorador, es posible incluirlas en la página para operaciones que manipulen la apariencia de la página y requieran un tiempo de respuesta rápido. Son ejemplos la habilitación y deshabilitación de controles, la ejecución de operaciones mouseover, la animación de elementos en la página, etc.

Por regla general, una secuencia de comandos de cliente se ejecuta en su totalidad de forma independiente del código de servidor que se crea para la página de formularios Web Forms y, por lo tanto, es posible crear la secuencia de comandos que se necesite en la página. No obstante, la funcionalidad de algunos controles de servidor ASP.NET depende de la secuencia de comandos de cliente. Esto no impide al desarrollador usar secuencias de comandos de cliente cuando trabaja con estos controles, pero sí requiere una comprensión de la interacción de la secuencia de comandos de cliente con la secuencia que generan estos controles.

Los controles de servidor ASP.NET que dependen de su capacidad para ejecutar secuencias de comandos de cliente incluyen:

  • Los controles de servidor LinkButton y HtmlButton requieren secuencias de comandos (esto no es aplicable al control de servidor Web Button ni a los controles HtmlInputButton y HtmlInputImage).

  • De manera predeterminada, el control Calendar implementa la exploración de meses y la selección de días utilizando controles LinkButton. Si define propiedades de control para permitir a los usuarios seleccionar un día, una semana o un mes, o si les permite explorar otros meses, el control Calendar generará secuencias de comandos cliente. Si utiliza el control Calendar sólo para mostrar un mes sin selección ni exploración, el control no requiere secuencias de comandos cliente.

  • Cualquier control de servidor Web cuya propiedad AutoPostBack esté establecida en true; se requiere la secuencia de comandos de cliente para que el control pueda enviar la página.

  • Los controles de validación Web, que requieren la secuencia de comandos de cliente por compatibilidad con la validación del cliente. Si el cliente no acepta secuencias de comandos, la validación sólo se ejecuta en el servidor.

    Nota   Para obtener información sobre cómo crear controladores de eventos que se ejecuten en la secuencia de comandos de cliente y en el código del servidor, vea Modelo de eventos de controles de servidor ASP.NET.

La secuencia de comandos de cliente requerida se genera de forma automática y se envía como parte de la página. Es compatible con todos los tipos de exploradores que aceptan por lo menos ECMAScript (JScript, JavaScript), es decir, no depende de las características avanzadas del lenguaje de secuencias de comandos de HTML dinámico (DHTML).

Nota   Algunas funciones de validación pueden sacar partido de DHTML si está disponible en el explorador, aunque DHMTL no se requiere.

A veces los usuarios deshabilitan las secuencias de comandos en un explorador por motivos de seguridad. Si lo hacen, se pierde la funcionalidad suministrada por la secuencia de comandos de cliente, lo cual deshabilita algunos controles, como LinkButton, por completo, y la funcionalidad de la propiedad AutoPostBack. La validación sólo resulta afectada de forma parcial; sigue funcionando, pero los usuarios no obtienen la inmediatez y el rendimiento de la validación en el cliente.

Vea también

Controles de servidor ASP.NET y funciones del explorador | Modelo de eventos de controles de servidor de ASP.NET | Validación de formularios Web Forms