Lo nuevo en ASP.NET y desarrollo web

Actualización: noviembre 2007

.NET Framework versión 3.5 Service Pack 1 incluye mejoras para ASP.NET en áreas concretas: Visual Studio 2008 y Microsoft Visual Web Developer Express también incluyen mejoras y nuevas características para el desarrollo mejorado de web.

Los adelantos más significativos son una mejor compatibilidad para desarrollar sitios web habilitados para AJAX y compatibilidad con Language-Integrated Query (LINQ). Los adelantos incluyen nuevos tipos y controles de servidor, una nueva biblioteca de tipos de cliente orientada a objetos y total compatibilidad con IntelliSense en Visual Studio 2008 y Microsoft Visual Web Developer Express para trabajar con ECMAScript (JavaScript o JScript).

En las secciones siguientes de este tema se describen los cambios en ASP.NET y Visual Web Developer.

  • Mejoras de ASP.NET en el SP1

  • Mejoras de ASP.NET en la versión 3.5

  • Mejoras de Visual Web Developer

Mejoras de ASP.NET en el SP1

Las secciones siguientes proporcionan información sobre las mejoras y las nuevas características en Visual Studio 2008 y Visual Web Developer Express.

Datos dinámicos

Los datos dinámicos de ASP.NET son un marco de trabajo que permite crear fácilmente aplicaciones web ASP.NET controladas por datos. Para ello, detecta automáticamente el modelo de datos en tiempo de ejecución y determina el comportamiento de la interfaz de usuario a partir de dicho modelo. Un marco con una estructura preconstruida (que incluye la técnica scaffolding) proporciona al instante un sitio web funcional para ver y editar datos. Dicha técnica podrá personalizarse con facilidad posteriormente mediante el uso de metadatos y plantillas, o mediante la creación de páginas ASP.NET estándar para invalidar el comportamiento predeterminado. Al mismo tiempo, las aplicaciones existentes pueden integrar con facilidad partes de la lógica de scaffolding en sus páginas existentes.

Enrutamiento de direcciones URL

El enrutamiento de direcciones URL en ASP.NET permite usar direcciones URL que no es necesario asignar a archivos determinados en un sitio web. Dado que la dirección URL no tiene que asignarse a un archivo, en una aplicación web puede usar direcciones URL descriptivas de la acción del usuario, y por tanto, que los usuarios puedan identificar mejor. En el enrutamiento de direcciones URL, se definen modelos de dirección URL que contienen marcadores de posición para los valores utilizados al administrar solicitudes URL. En tiempo de ejecución, las partes de la dirección URL que siguen al nombre de aplicación se analizan como valores discretos, tomando como base un modelo de dirección URL que haya definido.

Control EntityDataSource

El control EntityDataSource admite escenarios de enlace de datos basados en el Entity Data Model (EDM). La especificación EDM representa datos como conjuntos de entidades y relaciones. Entity Framework usa el EDM en asignaciones relacionales de objetos y otros escenarios como Servicios de datos de ADO.NET. Los usuarios acostumbrados al modelo en tiempo de diseño de los controles de enlace de datos de ASP.NET encontrarán la superficie de programación del control EntityDataSource similar a la de otros controles de origen de datos.

El control EntityDataSource administra las operaciones de creación, lectura, actualización y eliminación con un origen de datos procedentes de controles con enlace de datos en la página. El control EntityDataSource usa cuadrículas que se pueden editar, formularios con ordenación y filtrado controlados por el usuario, controles de lista desplegable con doble enlace y páginas principal-detalle. El control EntityDataSource puede obtener valores de parámetros de consulta a partir de controles de páginas, parámetros de consulta anexados al URI de la página, cookies, así como otros objetos de parámetros de ASP.NET.

Nuevas extensiones de ASP.NET AJAX

Las nuevas extensiones de ASP.NET AJAX en el SP1 proporcionan un mayor control del historial del explorador al usar el botón Atrás. Asimismo, permiten combinar automáticamente varios scripts de cliente en un script compuesto. De esta forma se reduce el tiempo de carga de scripts, ya que disminuye enormemente el número necesario de viajes de ida y vuelta (round trips) al servidor.

Formato JScript

Se ha extendido la funcionalidad de formato de código para proporcionar compatibilidad con JScript en Visual Studio y Visual Web Developer Express. Puede elegir dar formato al código manualmente en un documento o selección, o aplicar el formato automáticamente mientras escribe.

Mejoras de ASP.NET en la versión 3.5

.NET Framework versión 3.5 incluye mejoras para ASP.NET en las áreas siguientes:

  • Nuevos controles de servidor, tipos y una biblioteca de scripts de cliente que funcionan juntos para permitir el desarrollo de aplicaciones web con estilo AJAX.

  • Extensión de la autenticación de formularios basada en servidor, administración de funciones y servicios de perfil como servicios web que pueden usar las aplicaciones basadas en web.

  • Un nuevo control EntityDataSource que expone el Entity Data Model a través de la arquitectura de controles de origen de datos ASP.NET.

  • Un nuevo control de datos ListView que muestra datos y proporciona una interfaz de usuario con un alto grado de personalización.

  • Un nuevo control LinqDataSource que expone Language-Integrated Query (LINQ) a través de la arquitectura de controles de origen de datos ASP.NET.

  • Una nueva herramienta de combinación (Aspnet_merge.exe) que combina los ensamblados precompilados para admitir la implementación flexible y la administración de lanzamientos. Esta característica no está disponible en Visual Web Developer Express.

.NET Framework versión 3.5 también se integra con IIS 7.0. Ahora puede usar servicios ASP.NET como la autenticación de formularios y el almacenamiento en caché para todos los tipos de contenido, no sólo páginas web ASP.NET (archivos .aspx). Esto se debe a que ASP.NET e IIS 7.0 usan la misma canalización de solicitudes. La canalización de procesamiento de solicitudes unificada implica que puede usar código administrado para desarrollar módulos de canalización HTTP que trabajen con todas las solicitudes en IIS. Además, los módulos y controladores IIS y ASP.NET admiten ahora la configuración unificada. Para obtener más información, consulte Información general sobre el ciclo de vida de una aplicación ASP.NET para IIS 7.0.

Desarrollo de AJAX

.NET Framework versión 3.5 permite crear aplicaciones web que representan interfaces de usuario de próxima generación con componentes de cliente reutilizables. Puede desarrollar las páginas web aplicando un enfoque basado en servidor, basado en cliente o una combinación de ambos, según sus requisitos. Los modelos de programación basados en cliente y en servidor AJAX incluyen:

  • Controles de servidor compatibles con desarrollo de AJAX basado en servidor. Esto incluye los controles ScriptManager, UpdatePanel, UpdateProgress y Timer. Con estos controles se puede crear un comportamiento de cliente enriquecido con un breve script de cliente o sin script, como la representación parcial de páginas y la presentación del progreso de actualización durante las devoluciones de datos asincrónicas.

  • Microsoft AJAX Library, que es compatible con el desarrollo basado en cliente y orientado a objetos que es independiente del explorador. Además de ser compatible con los controles de servidor habilitados para AJAX, con la biblioteca de clientes podrá desarrollar componentes de cliente personalizados que amplían los elementos DOM o que representan un elemento DOM.

  • Clases de servidor que le permiten desarrollar controles de servidor que se asignan a los componentes de cliente personalizados cuyos eventos y propiedades se establecen mediante declaración. Los tipos de servidor que son compatibles con esta funcionalidad incluyen los controles que se derivan de las clases base ExtenderControl o ScriptControl, o bien que implementan las interfaces IExtenderControl o IScriptControl.

  • Compatibilidad para la globalización y localización del script con script de cliente. Con la globalización es posible mostrar fechas y números basados en un valor de referencia cultural (configuración regional). Con la localización puede especificar el contenido localizado (texto, imágenes, etc.) en los componentes de cliente de los elementos de la interfaz de usuario o de los mensajes de excepción.

  • Acceso a los servicios web y a los servicios de autenticación de ASP.NET, de administración de funciones y de aplicación de perfiles.

.NET Framework versión 3.5 permite habilitar en una página, de forma sencilla, las actualizaciones parciales asincrónicas de la misma, lo que evita la sobrecarga de las devoluciones de datos de página completa. Sólo tiene que colocar el marcado y los controles existentes dentro de los controles UpdatePanel. Las devoluciones de datos dentro de un control UpdatePanel se convierten en devoluciones de datos asincrónicas y actualizan sólo la parte de la página incluida dentro del panel, lo cual hace que la utilización por parte del usuario sea más fluida. Puede mostrar el progreso de la actualización parcial de la página mediante la utilización de controles UpdateProgress.

Obtener información sobre el desarrollo de AJAX en ASP.NET

La documentación proporciona abundante información para ayudarle a obtener información sobre cómo desarrollar aplicaciones web con estilo AJAX en ASP.NET. Para comenzar, siga la secuencia de temas descrita en Agregar funcionalidad AJAX y de cliente.

Servicios web y servicios de aplicación

.NET Framework versión 3.5 permite crear servicios web basados en ASP.NET (.asmx) y WCF a los que puede llamar desde las páginas web en script de cliente con Microsoft AJAX Library. También puede llamar a los servicios de aplicación basados en servidor que se exponen como servicios web, lo que incluye la autenticación de formularios, la administración de funciones y los perfiles. Estos servicios de aplicación se pueden usar en aplicaciones compatibles con WCF, lo que incluye páginas web habilitadas para AJAX y clientes de formularios Windows Forms. Por consiguiente, las aplicaciones que se generan con estas tecnologías ASP.NET o WCF pueden compartir información que facilitan los servicios de aplicación. Para obtener más información, vea Servicios web de AJAX en ASP.NET y Usar servicios web ASP.NET.

Control de datos ListView

El control ListView combina diferentes aspectos de controles de datos existentes. El control ListView resulta útil para mostrar datos de cualquier estructura de repetición, de forma similar a los controles DataList y Repeater. Sin embargo, a diferencia de estos controles, el control ListView admite las operaciones de edición, inserción y eliminación, así como la ordenación y la paginación. El nuevo control DataPager proporciona la funcionalidad de paginación para ListView.

El control ListView es un control con alto grado de personalización que permite usar plantillas y estilos para definir la interfaz de usuario del control. Al igual que en los controles Repeater, DataListy FormView, las plantillas del control ListView no se predefinen para representar una interfaz de usuario concreta en el explorador. Para obtener más información, vea Información general sobre el control de servidor web ListView.

Control DataPager

El control DataPager se usa para recorrer página a página los datos mostrados por un control que implementa la interfaz IPageableItemContainer, como el control ListView. El control DataPager admite la interfaz de usuario de paginación integrada. Puede especificar la interfaz de usuario de paginación con el objeto NumericPagerField, que permite a los usuarios seleccionar una página por número de página. También puede usar el objeto NextPreviousPagerField, que permite a los usuarios navegar por las páginas una a una, o saltar a la primera o la última página. También puede crear una interfaz de usuario de paginación personalizada con el objeto TemplatePagerField.

Control LinqDataSource

El control LinqDataSource expone Language-Integrated Query (LINQ) a través de la arquitectura de controles de origen de datos ASP.NET. El control LinqDataSource se usa cuando se crea una página web que recupera o modifica datos y se desea usar el modelo de programación que proporciona LINQ. Puede simplificar el código de una página web permitiendo que el control LinqDataSource cree automáticamente los comandos para interactuar con los datos. Si usa el control LinqDataSource, puede reducir la cantidad de código que debe escribir para realizar operaciones de datos en comparación con las mismas operaciones en el control SqlDataSource o el control ObjectDataSource. Asimismo, cuando se utiliza el control LinqDataSource, sólo es necesario conocer un modelo de programación para interactuar con tipos diferentes de orígenes de datos.

Puede usar el marcado declarativo para crear un control LinqDataSource que conecte con los datos de una base de datos o de una recolección de datos como una colección. En el marcado, puede especificar los criterios para mostrar, filtrar, ordenar y agrupar los datos. Cuando el origen de datos es una tabla de base de datos SQL, también puede configurar un control LinqDataSource para actualizar, insertar y eliminar datos. Para realizar estas tareas, no necesita escribir los comandos SQL. La clase LinqDataSource proporciona un modelo de eventos que permite personalizar el comportamiento de visualización y actualización. Para obtener más información, consulte Información general sobre el control de servidor web LinqDataSource.

Herramienta de combinación de ASP.NET

La herramienta de combinación de ASP.NET (Aspnet_merge.exe) permite combinar y administrar ensamblados creados por la herramienta de precompilación de ASP.NET (Aspnet_compiler.exe). (La herramienta de combinación se lanzó anteriormente como un complemento para Visual Studio 2005.) La herramienta de combinación crea ensamblados únicos para el sitio. Puede crear un ensamblado para el sitio web entero, para cada carpeta del sitio web o sólo para los archivos que constituyen la interfaz de usuario del sitio web (páginas y controles).

Nota:

Esta característica no está disponible en Visual Web Developer Express.

Para obtener más información, consulte Herramienta Combinación de ASP.NET (Aspnet_merge.exe). Para obtener más información acerca de la herramienta de compilación de ASP.NET, vea Herramienta de compilación de ASP.NET (Aspnet_compiler.exe).

Mejoras de Visual Web Developer

Las secciones siguientes proporcionan información sobre las mejoras y las nuevas características en Visual Studio 2008 y Visual Web Developer Express.

Nuevas herramientas de diseño CSS y nueva vista Diseño

El diseñador de páginas web permite ahora trabajar en la vista Diseño, la vista Código fuente o la vista Dividir, que muestran al mismo tiempo las vistas Diseño y Código fuente.

Visual Studio proporciona ahora herramientas que facilitan el trabajo con hojas de estilos en cascada (CSS). Puede diseñar el contenido de estilo y presentación en la vista Diseño con nuevas herramientas de interfaz de usuario como la ventana Propiedades de CSS. También puede cambiar la posición, el relleno y los márgenes directamente en la vista Diseño con herramientas de diseño visuales WYSIWYG.

Para obtener más información, vea los temas siguientes:

IntelliSense para JScript y ASP.NET AJAX

Visual Studio 2008 y Visual Web Developer Express proporcionan ahora IntelliSense significativamente mejorado para codificar en ECMAScript (JScript o JavaScript) y para escribir script de cliente para aplicaciones web de estilo AJAX que usan Microsoft AJAX Library. IntelliSense está disponible para el script de cliente en elementos de script y para los archivos de script de .js a los que se hace referencia. 

Además, IntelliSense muestra comentarios de código XML. Los comentarios de código XML se utilizan para describir detalles de resumen, parámetros y devolución del script de cliente. ASP.NET AJAX también usa comentarios de código XML para proporcionar a IntelliSense tipos y miembros de ASP.NET AJAX. IntelliSense también es compatible con referencias de archivos de script externos que utilicen comentarios de código XML.

Para obtener más información, vea los temas siguientes:

Proyectos de aplicaciones Web

Los proyectos de aplicaciones web, lanzados anteriormente como un complemento para Visual Studio 2005, se integran ahora en Visual Studio y Visual Web Developer Express. Si usa el modelo de proyectos de aplicación web, puede compilar un sitio web en un ensamblado único en la carpeta Bin y definir explícitamente los recursos del proyecto.

El modelo de proyectos de aplicación web usa la misma semántica para proyectos, generaciones y compilaciones que los proyectos web de Visual Studio .NET 2003. Esto permite migrar fácilmente los sitios web de Visual Studio .NET 2003 a la versión actual de Visual Studio y Visual Web Developer Express.

Los proyectos de aplicación web no reemplazan el tipo de proyecto de sitio web introducido en Visual Studio 2005. En su lugar, proporcionan otro modelo de proyectos que dispone de más opciones para implementar y mantener las aplicaciones web.

Para obtener más información, vea los temas siguientes:

Aplicaciones web con destinos múltiples

Visual Studio permite ahora destinar una aplicación web a una versión concreta de .NET Framework. Puede usar una instancia de Visual Studio para desarrollar aplicaciones web para .NET Framework versiones 2.0, 3.0 (Windows Vista) y 3.5. En Visual Web Developer Express, solamente puede crear aplicaciones para la versión 3.5 de .NET Framework. Sin embargo, puede cambiar manualmente .NET Framework para las versiones 2.0, 3.0 y 3.5 cambiando la propiedad relativa al proyecto.

Para obtener más información, vea los temas siguientes:

Compatibilidad del diseñador e IntelliSense con LINQ

Un nuevo conjunto de características de Visual Studio 2008 es compatible con Language-Integrated Query (LINQ) y amplía las eficaces posibilidades de consulta en la sintaxis del lenguaje de C# y Visual Basic. LINQ introduce modelos estándar aprendidos con facilidad para consultar y transformar los datos, y se puede extender para admitir cualquier tipo de origen de datos. El diseñador proporciona una representación visual de clases de datos que permite crear y modificar rápidamente clases que se asignan a los objetos de una base de datos. La compatibilidad de IntelliSense proporciona información para la sintaxis de lenguaje de LINQ y para utilizar el control LinqDataSource en la vista Código fuente. Para obtener más información, vea Información general sobre el control de servidor web LinqDataSource

Compatibilidad para crear y usar servicios WCF en un proyecto web

En Visual Studio, puede agregar servicios web ASP.NET (archivos .asmx) y servicios web WCF (archivos .svc) a un proyecto. Las aplicaciones cliente que se escriben en código administrado tienen normalmente acceso a estos servicio web a través de una clase de proxy. Por ejemplo, estas aplicaciones usan la clase de proxy que Visual Studio genera al usar el cuadro de diálogo Agregar referencia web. Las aplicaciones AJAX pueden tener acceso a los servicios web desde el explorador mediante clases de proxy que se generan automáticamente en script de cliente. Para obtener más información, vea Información general sobre los servicios de aplicación ASP.NET.

Compatibilidad con controles extensores de ASP.NET AJAX

Los controles extensores de AJAX mejoran las funciones de cliente de los controles de servidor web estándar en las aplicaciones web ASP.NET. Puede proporcionar una experiencia del usuario basada en web más enriquecida si enlaza uno o más extensores a los controles de servidor web como los controles TextBox, los controles Button y los controles Panel.

Visual Studio admite todos los controles extensores de ASP.NET AJAX. Esto incluye los controles extensores que crea y aquéllos que agrega a partir de orígenes como ASP.NET AJAX Control Toolkit, que está disponible en el sitio web de ASP.NET.

Nota:

ASP.NET AJAX Control Toolkit es una biblioteca admitida por la comunidad y no admitida por Microsoft.

Para obtener más información, vea los temas siguientes:

Vea también

Conceptos

Tutoriales seleccionados de ASP.NET

Lo nuevo en Visual Studio 2008

Información general sobre proyectos de aplicaciones web

Agregar funcionalidad AJAX y de cliente

Agregar la funcionalidad de AJAX a los controles ASP.NET

Comparar Visual Studio y Visual Web Developer Express

Otros recursos

Controles de servidor AJAX