Preguntas frecuentes de ASP.NET Web Pages (Razor)

por Tom FitzMacken

Nota:

WebMatrix ya no se recomienda como entorno de desarrollo integrado para páginas web ASP.NET. Utilice Visual Studio o Visual Studio Code.

Este artículo enumera algunas preguntas frecuentes sobre las ASP.NET Web Pages (Razor) y WebMatrix.

Versiones de software usadas en el tutorial

  • ASP.NET Web Pages (Razor) 3
  • Visual Studio 2013
  • WebMatrix 3

Si tiene preguntas sobre errores y otros problemas, consulte la Guía de solución de problemas de ASP.NET Web Pages (Razor).

¿Cuál es la diferencia entre ASP.NET Web Pages, ASP.NET Web Forms y ASP.NET MVC?

Las tres son tecnologías ASP.NET para crear aplicaciones web dinámicas:

  • Las ASP.NET Web Pages se centran en agregar código dinámico (del lado del servidor) y acceso a bases de datos a las páginas HTML, y presentan una sintaxis sencilla y ligera.
  • ASP.NET Web Forms se basa en un modelo de objetos de página y controles tradicionales de tipo ventana (botones, listas, etc.). Web Forms utiliza un modelo basado en eventos que resulta familiar a quienes hayan trabajado con desarrollo basado en cliente (formularios de Windows).
  • ASP.NET MVC implementa el patrón modelo-vista-controlador para ASP.NET. Se hace énfasis en la "separación de inquietudes" (capas de procesamiento, datos e interfaz de usuario).

Los tres marcos son totalmente compatibles y siguen siendo desarrollados por el equipo de ASP.NET. En general, la elección de qué framework utilizar depende de su formación y experiencia con ASP.NET.

ASP.NET Web Pages, en particular, se diseñó para facilitar a quienes ya conocen HTML la tarea de agregar procesamiento de servidor a sus páginas. Es una buena opción para estudiantes, aficionados y personas en general que se inician en la programación. También puede ser una buena opción para los desarrolladores que tienen experiencia con tecnologías web distintas de ASP.NET.

¿Necesito WebMatrix para trabajar con Web Pages?

No. WebMatrix ya no se recomienda como entorno de desarrollo integrado para páginas web ASP.NET. Utilice Visual Studio o Visual Studio Code.

Si no desea utilizar Visual Studio ni Visual Studio Code, puede instalar los productos componentes individualmente mediante Instalador de plataforma web de Microsoft. Necesita los siguientes productos:

  • Microsoft .NET Framework 4.5
  • ASP.NET MVC 5 (que instala también el framework ASP.NET Web Pages)
  • IIS Express (el servidor web)
  • Microsoft SQL Server Compact 4.0 (la base de datos)

Puede utilizar un editor de texto para editar las páginas .cshtml (o .vbhtml ).

Administrar bases de datos SQL Server Compact (archivos .sdf) sin una herramienta es un poco más difícil. Visual Studio contiene herramientas para administrar bases de datos .sdf. También puede ejecutar comandos SQL en código para realizar muchas tareas de administración de SQL Server.

Para probar las páginas .cshtml sin utilizar un entorno de desarrollo integrado (IDE), puede implementarlas en un servidor activo. (Consulte ¿Puedo implementar un sitio de páginas web ASP.NET sin utilizar WebMatrix?)

Ejecutar IIS Express sin utilizar un IDE

Si instala IIS Express en su ordenador como servidor web, puede utilizarlo para probar las páginas. Puede ejecutar IIS Express desde la línea de comandos y asociarlo a un número de puerto específico. A continuación, especifique ese puerto cuando solicite archivos .cshtml en su navegador.

En Windows, abra un símbolo del sistema con privilegios de administrador y vaya a C:Archivos de programa IIS Express. (Para sistemas de 64 bits, utilice la carpeta C:\Archivos de programa (x86)\IIS Express) A continuación, introduzca el siguiente comando, utilizando la ruta real a su sitio:

iisexpress.exe /port:35896 /path:C:\BasicWebSite

Puede utilizar cualquier número de puerto que no esté ya reservado por algún otro proceso. (Los números de puerto superiores a 1 024 suelen ser gratuitos). Para el valor path, utilice la ruta de la carpeta del sitio web donde se encuentran los archivos .cshtml.

Luego de ejecutar este comando para configurar IIS Express para servir sus páginas, puede abrir un navegador e ir a un archivo .cshtml. Utilice una URL como la siguiente:

http://localhost:35896/default.cshtml

Para obtener ayuda con las opciones de la línea de comandos de IIS Express, introduzca iisexpress.exe /? en la línea de comandos.

¿Puedo utilizar controles ASP.NET Web Forms en una página Web Pages?

No. Los controles Web Forms como el control CheckBox, los controles de validación y el control GridView solo funcionan en páginas Web Forms (archivos .aspx). Estos controles requieren el marco de página Web Forms.

¿Puedo implementar un sitio de páginas web ASP.NET sin utilizar WebMatrix?

Sí. Puede copiar manualmente los archivos del sitio web a un servidor (normalmente mediante FTP). Si realiza una copia manual, también tendrá que copiar los archivos compatibles con SQL Server Compact (la base de datos). Para obtener más información, consulte la entrada del blog Implementación de aplicaciones Web Pages sin una herramienta.

¿Tengo que utilizar el ayudante WebSecurity para permitir el inicio de sesión?

No. El proveedor SimpleMembership que forma parte de ASP.NET Web Pages es una opción. Los proveedores de seguridad que forman parte de ASP.NET (con los que podría estar acostumbrado a trabajar en Web Forms) también están disponibles. Por ejemplo, puede utilizar la autenticación de formularios en las ASP.NET Web Pages del mismo modo que lo haría en Web Forms. Para ver un ejemplo de cómo utilizar la autenticación de formularios, consulte el artículo de Soporte técnico de Microsoft Cómo implementar la autenticación basada en formularios en su aplicación ASP.NET utilizando C#.NET. Para descargar un ejemplo sencillo, consulte la versión ASP.NET de "Inicio de sesión y contraseña.

Para obtener información sobre cómo utilizar la autenticación de Windows, consulte la entrada del blog Uso de la autenticación de Windows en ASP.NET Web Pages.

¿Es compatible ASP.NET Web Pages con HTML5?

Sí. Las páginas que se crean con ASP.NET Web Pages (páginas .cshtml o .vbhtml) son esencialmente páginas HTML que también contienen código que se ejecuta en el servidor, antes de que se renderice la página. Siempre que el navegador del usuario admita HTML5, puede utilizar elementos HTML5 en una página .cshtml o .vbhtml.

¿Puedo utilizar JavaScript y jQuery con Web Pages?

Totalmente. Las páginas creadas con ASP.NET Web Pages (páginas .cshtml o .vbhtml) no son más que páginas HTML con código de servidor. Por lo tanto, todo lo que se puede hacer en una página HTML normal utilizando JavaScript o jQuery también se puede hacer en una página .cshtml o .vbhtml.

La plantilla Starter Site de WebMatrix contiene varias bibliotecas jQuery. Si crea un sitio utilizando esa plantilla, la carpeta Scripts contiene una librería jQuery core (jquery-1.6.2.js) y librerías para validación jQuery (jquery.validate.js, etc.).

Estas son algunas entradas de blog que ilustran formas de utilizar jQuery con páginas web ASP.NET: