Getting Started With ASP.net Español

183
Página 18 Crear el proyecto Este serie tutorial te enseñará los fundamentos de la construcción de una aplicación Web Forms ASP.NET utilizando ASP.NET 4.5 y Microsoft Visual Studio Express 2013 para Web. Un estudio de 2013 del proyecto de Visual con fuente de C # código está disponible para acompañar esta serie de tutoriales. En este tutorial va a crear, revisar y ejecutar el proyecto de forma predeterminada en Visual Studio, que lo hará le permiten familiarizarse con las características de ASP.NET. Además, se le revisará el Visual Studio ambiente. Lo que aprenderá: ¿Cómo crear un nuevo proyecto Web Forms. La estructura de archivos del proyecto Web Forms. Cómo ejecutar el proyecto en Visual Studio. Las diferentes características de la aplicación de los formularios Web predeterminado. Algunos conceptos básicos sobre cómo utilizar el entorno de Visual Studio. Crear el proyecto 1. Abra Visual Studio. 2. Seleccione Nuevo proyecto en el menú Archivo de Visual Studio. 3. Seleccione las plantillas -> Visual C # -> grupo Plantillas Web de la izquierda. 4. Seleccione la plantilla de aplicación Web ASP.NET en la columna central.

description

lenguaje ASP

Transcript of Getting Started With ASP.net Español

Page 1: Getting Started With ASP.net Español

Página 18

Crear el proyecto

Este serie tutorial te enseñará los fundamentos de la construcción de una aplicación Web Forms

ASP.NET utilizando ASP.NET 4.5 y Microsoft Visual Studio Express 2013 para Web. Un estudio de

2013 del proyecto de Visual con fuente de C # código está disponible para acompañar esta serie de

tutoriales.

En este tutorial va a crear, revisar y ejecutar el proyecto de forma predeterminada en Visual

Studio, que lo hará le permiten familiarizarse con las características de ASP.NET. Además, se le

revisará el Visual Studio ambiente.

Lo que aprenderá:

¿Cómo crear un nuevo proyecto Web Forms.

La estructura de archivos del proyecto Web Forms.

Cómo ejecutar el proyecto en Visual Studio.

Las diferentes características de la aplicación de los formularios Web predeterminado.

Algunos conceptos básicos sobre cómo utilizar el entorno de Visual Studio.

Crear el proyecto

1. Abra Visual Studio.

2. Seleccione Nuevo proyecto en el menú Archivo de Visual Studio.

3. Seleccione las plantillas -> Visual C # -> grupo Plantillas Web de la izquierda.

4. Seleccione la plantilla de aplicación Web ASP.NET en la columna central.

Page 2: Getting Started With ASP.net Español

Página 19

5. Nombre tus WingtipToys proyecto y elija el botón Aceptar.

Nota

El nombre del proyecto en esta serie de tutoriales es WingtipToys. Se recomienda que utiliza este

nombre exacto del proyecto para que el código proporcionado a lo largo de esta serie de

tutoriales funciona como se esperaba.

Página 20

6. A continuación, seleccione la plantilla de formularios Web Forms y chooks el botón Crear

proyecto.

Page 3: Getting Started With ASP.net Español

Página 21

El proyecto se llevará un poco de tiempo para crear. Cuando esté listo, abra la página Default.aspx.

Page 4: Getting Started With ASP.net Español

Se puede cambiar entre la vista Diseño y la vista Código fuente seleccionando una opción en la

parte inferior de el centro de la ventana. vista Diseño muestra las páginas Web ASP.NET, páginas

maestras, páginas de contenido, Páginas HTML y controles de usuario utilizando una vista casi

WYSIWYG. Vista de origen muestra el código HTML markup para su página web, que se puede

editar.

La comprensión de los marcos de ASP.NET

ASP.NET Web Forms le permite crear sitios web dinámicos utilizando una drag-and-drop familiar,

evento- modelo impulsado. Una superficie de diseño y cientos de controles y componentes le

permiten crear rápidamente poderosos sitios sofisticados, la interfaz de usuario impulsada con

acceso a los datos. La tienda Wingtip Toy se basa en ASP.NET Web Forms, pero muchos de los

conceptos que se aprenden en esta serie de tutoriales son aplicables a todos ASP.NET.

ASP.NET ofrece cuatro marcos de desarrollo primario:

ASP.NET Web Forms

El marco de formularios Web se dirige a los desarrolladores que prefieren declarativa y control

basado en programación, como Microsoft Windows Forms (WinForms) y WPF / XAML / Silverlight.

Ofrece un modelo de desarrollo impulsado por el diseñador WYSIWYG, por lo que es popular entre

los desarrolladores en busca de un entorno de desarrollo rápido de aplicaciones (RAD) para el

desarrollo web. Si usted es nuevo en la programación web y está familiarizado con el tradicional

Microsoft RAD

Página 22

herramientas de desarrollo de cliente (por ejemplo, para Visual Basic y Visual C #), usted puede

rápida construir una aplicación web sin tener experiencia en HTML y JavaScript.

ASP.NET MVC

ASP.NET MVC se dirige a los desarrolladores que están interesados en los patrones y principios

como los Ensayos desarrollo impulsado, separación de intereses, inversión de control (IoC), y la

dependencia inyección (DI). Este marco alienta a la separación de la capa de lógica de negocio de

una red aplicación de su capa de presentación.

ASP.NET Web Pages

Páginas Web ASP.NET dirige a los desarrolladores que quieren una simple historia de desarrollo

web, a lo largo de las líneas de PHP. En el modelo de páginas Web, crear páginas HTML y luego

agrega código basado en el servidor de la página con el fin de controlar la dinámica de cómo el

lenguaje de formato rendido. Páginas Web está diseñado específicamente para ser un marco

ligero, y es el más fácil punto en ASP.NET entrada para gente que sabe HTML, pero podrían no

tener amplia experiencia en programación - por ejemplo, estudiantes o aficionados. También es

una buena manera para que desarrolladores web que conocen PHP o marcos similares para

empezar a utilizar ASP.NET.

ASP.NET sola página Aplicación

Page 5: Getting Started With ASP.net Español

Página única aplicación ASP.NET (SPA) ayuda a construir aplicaciones que incluyen interacciones

del cliente significativos utilizando HTML 5, CSS 3 y JavaScript. El ASP.NET y Herramientas Web

2012.2 Actualizar barcos una nueva plantilla para la creación de aplicaciones de una sola página

utilizando knockout.js y API Web ASP.NET. Además de la nueva plantilla Spa, Nueva plantillas SPA

creado en la comunidad también están disponibles para su descarga.

Además de los cuatro marcos principales de desarrollo, ASP.NET también ofrece adicional

tecnologías que son importantes para conocer y familiarizarse con, pero no están cubiertos en

este serie de tutoriales:

ASP.NET Web API - Un marco para la construcción de servicios HTTP que llegan a una amplia gama

de clientes, incluyendo los navegadores y dispositivos móviles.

ASP.NET SignalR - Una biblioteca que hace que el desarrollo de la funcionalidad de la web en

tiempo real fácil.

Revisión del Proyecto

En Visual Studio, la ventana Explorador de soluciones le permite administrar los archivos para el

proyecto. Echemos un mirar las carpetas que se han añadido a su aplicación en el Explorador de

soluciones. La web

Página 23

plantilla de aplicación añade una estructura básica de carpetas:

Page 6: Getting Started With ASP.net Español

Visual Studio crea algunas carpetas iniciales y archivos para su proyecto. Los primeros archivos que

serán trabajar con más adelante en este tutorial son los siguientes:

Archivo Propósito Default.aspx Normalmente la primera página aparece cuando la aplicación se ejecuta en un navegador. Site.Master Una página que te permite crear un diseño consistente y utiliza comportamiento estándar para las páginas de la aplicación. Global.asax Un archivo opcional que contiene código para responder a aplicación- eventos de nivel y de nivel de sesión planteadas por ASP.NET o HTTP módulos. Web.config Los datos de configuración para una aplicación. Página 24

Ejecutar la aplicación Web predeterminado

La aplicación Web predeterminado proporciona una experiencia rica basada en funcionalidad

integrada y apoyo. Sin ningún tipo de cambios en el proyecto de formularios Web

predeterminado, la aplicación está lista para funcionar en tu navegador web local.

1. Presione la tecla F5 mientras que en Visual Studio.

La aplicación construirá y visualización en el navegador Web.

Page 7: Getting Started With ASP.net Español

2. Una vez que haya completado opinión la aplicación en ejecución, cierre la ventana del

navegador.

Hay tres páginas principales en esta aplicación web por defecto: Default.aspx (Inicio), About.aspx,

y Contact.aspx. Cada una de estas páginas se puede acceder desde la barra de navegación

superior. Hay también dos páginas adicionales contenidos en la carpeta de la cuenta, la página

register.aspx y Página Login.aspx. Estas dos páginas le permiten utilizar las capacidades de

pertenencia de ASP.NET para crear, almacenar y validar las credenciales de usuario.

Formularios Web ASP.NET Antecedentes

ASP.NET Web Forms son páginas que se basan en la tecnología Microsoft ASP.NET, en el cual el

código que se ejecuta en el servidor genera dinámicamente resultado de la página web con el

navegador o dispositivo de cliente.

Página 25

Una página Web Forms ASP.NET hace automáticamente el HTML navegador compatible correcta

para características tales como estilos, diseño, y así sucesivamente. Web Forms son compatibles

con cualquier lenguaje Compatible con .NET Common Language Runtime, como Microsoft Visual

Basic y Microsoft Visual C #. Además, los formularios Web se basan en la Microsoft .NET

Framework , Que proporciona beneficios como un entorno administrado, seguridad de tipos, y la

herencia.

Cuando una página de formularios Web ASP.NET se ejecuta, la página pasa por un ciclo de vida en

que se lleva a cabo una serie de pasos de procesamiento. Estos pasos incluyen la inicialización,

crear instancias de los controles, la restauración y el mantenimiento de estado, la ejecución de

código de controlador de eventos, y la representación. A medida que se familiarice más con el

poder de ASP.NET Web Forms, es importante que usted entienda la página ASP.NET ciclo de vida

de modo que usted puede escribir código en la etapa del ciclo de vida adecuado para el efecto que

desea.

Cuando un servidor Web recibe una petición de una página, se encuentra la página, lo procesa, lo

envía a la navegador y, a continuación, descarta toda información de la página. Si el usuario

solicita la misma página de nuevo, el servidor repite toda la secuencia, el reprocesamiento de la

página desde cero. Dicho de otra manera, una servidor no tiene memoria de páginas que ha

procesados-páginas son apátridas. La página ASP.NET marco se encarga de automatizar la tarea de

mantener el estado de su página y sus controles, y que le provee de maneras explícitas para

mantener el estado de la información específica de la aplicación.

Características de la aplicación Web en la Web Forms de plantillas de aplicaciones

La plantilla de formularios Web Forms aplicación ASP.NET proporciona un rico conjunto de

funcionalidad integrada. No sólo le proporciona una página Home.aspx, una página About.aspx,

una página Contact.aspx, sino también incluye la funcionalidad de miembros que registra los

usuarios y guarda sus credenciales para que puede iniciar sesión en su sitio web. Esta visión

general proporciona más información sobre algunas de las características contenidos en la Web

Forms plantilla de aplicación ASP.NET y cómo se utilizan en el Aplicación Wingtip Toys.

Page 8: Getting Started With ASP.net Español

Afiliación

ASP.NET Id entidad almacena las credenciales de los usuarios en una base de datos creada por la

aplicación. Cuando sus usuarios inician sesión en la aplicación valida sus credenciales mediante la

lectura de la base de datos. Tu carpeta de la cuenta del proyecto contiene los archivos que

implementan las distintas partes de la membresía: registrarse, iniciar sesión, cambiar una

contraseña, y autorizar el acceso. Además, Web ASP.NET Formas soporta OAuth y OpenID. Estas

mejoras de autenticación permiten a los usuarios inician sesión en su sitio usando las credenciales

existentes, de las cuentas como Facebook, Twitter, Windows Live y Google.

Página 26

Por defecto, la plantilla crea una base de datos de miembros utilizando un nombre de base de

datos predeterminada en una instancia de SQL Server Express LocalDB, el servidor de base de

datos de desarrollo que viene con Visual Studio Express 2013 para Web.

SQL Server Express LocalDB

SQL Server Express LocalDB es una versión ligera de SQL Server que tiene muchos características

de programación de una base de datos SQL Server. SQL Server Express LocalDB se ejecuta en el

usuario el modo y tiene una instalación, configuración cero rápida que tiene una lista corta de

Page 9: Getting Started With ASP.net Español

instalación requisitos previos. En Microsoft SQL Server, cualquier código de base de datos o

Transact-SQL se puede mover de SQL Server Express LocalDB a SQL Server y SQL Azure sin pasos

de actualización. Por lo tanto, SQL Server Express LocalDB se puede utilizar como un entorno de

desarrollo para aplicaciones dirigidas a todos ediciones de SQL Server. SQL Server Express LocalDB

permite funciones tales como procedimientos almacenados,

Página 27

funciones definidas por el usuario y los agregados, la integración de .NET Framework, tipos

espaciales y otros que no están disponibles en SQL Server Compact.

Páginas Maestras

Un Página maestra ASP.NET define una apariencia y comportamiento uniformes para todas las

páginas en su aplicación. El diseño de la página principal se fusiona con el contenido de un

individuo página de contenido para producir la última página que el usuario ve. En la aplicación de

Wingtip Toys, que modificar la página maestra Site.Master de manera que todas las páginas de la

Wingtip Toys web comparten el mismo logotipo distintivo y barra de navegación.

HTML5

La plantilla de formularios Web Forms aplicación ASP.NET es compatible con HTML5, que es la

última versión del el lenguaje de marcado HTML. HTML5 es compatible con nuevos elementos y

funciones que hacen más fácil para crear sitios Web.

Modernizr

Para navegadores que no soportan HTML5, puede utilizar Modernizr . Modernizr es un código

abierto Biblioteca JavaScript que puede detectar si un navegador soporta características de

HTML5, y permitirles si no lo hace. En la plantilla de formularios Web Forms aplicación ASP.NET,

Modernizr se instala como un NuGet paquete.

Manos a la Obra

El estudio 2013 plantillas de proyecto de Visual utilizan Manos a la Obra , Un marco de diseño y

tematización creado por Twitter. Bootstrap utiliza CSS3 para proporcionar el diseño de respuesta,

lo que significa que los diseños pueden adaptarse dinámicamente a diferentes tamaños de

ventana del navegador. También puede usar la tematización de Manos a la Obra función para

efectuar fácilmente un cambio en el aspecto de la aplicación y la sensación. Por defecto, la Web

ASP.NET Plantilla de aplicación en Visual Studio 2013 incluye Bootstrap como un paquete

NuGet. Paquetes

NuGet La plantilla de formularios Web Forms aplicación ASP.NET incluye un conjunto de NuGet

paquetes. Estas paquetes proporcionan funcionalidad por componentes en forma de bibliotecas y

herramientas de código abierto. Hay una amplia variedad de paquetes para ayudarle a crear y

probar sus aplicaciones. Estudio visual hace que sea fácil de añadir, eliminar y actualizar paquetes

NuGet. Los desarrolladores pueden crear y añadir paquetes a Nuget también.

Página 28

Page 10: Getting Started With ASP.net Español

Al instalar un paquete, copias NuGet archivos a su solución y hace automáticamente Se necesitan

independientemente de los cambios, como la adición de referencias y cambiando eres la

configuración asociada a la aplicación Web. Si usted decide quitar la biblioteca, NuGet elimina

archivos e invierte lo cambia hizo en su proyecto para que ningún desorden se deja. NuGet es

disponible en el menú Herramientas en Visual Studio.

jQuery

jQuery es una biblioteca de JavaScript rápida y concisa que simplifica documento HTML de

desplazamiento, evento manipulación, animar y Ajax interacciones para el desarrollo web rápido.

El jQuery JavaScript biblioteca está incluido en la plantilla de formularios Web Forms aplicación

ASP.NET como un paquete NuGet.

Validación Discreto

Incorporado en los controles de validación se han configurado para utilizar JavaScript discreto para

el lado del cliente lógica de validación. Esto reduce significativamente la cantidad de JavaScript

mostrada en línea en la página markup y reduce el tamaño total de la página. Validación discreto

se añade a nivel mundial para el ASP.NET Web Forms plantilla Aplicación basada en el ajuste en el

<appSettings> elemento de el archivo Web.config en la raíz de la aplicación.

Entity Framework Primer Código

Además de las características de la Web Forms plantilla de aplicación ASP.NET, los juguetes

Wingtip usos de aplicaciones Entity Framework Primer Código , Que es una biblioteca NuGet que

permite que el código centrada desarrollo cuando se trabaja con datos. En pocas palabras, se crea

la parte de la base de datos de su solicitud de usted, basado en el código que usted escribe. El uso

de Entity Framework, se recupera y manipular datos como objetos inflexible de tipos. Esto le

permite centrarse en la lógica de negocio en su aplicación en lugar de los detalles de cómo se

accede a los datos.

Page 11: Getting Started With ASP.net Español

Página 29

Para obtener información adicional acerca de las bibliotecas y los paquetes instalados incluido con

el ASP.NET Web Forms plantilla, ver la lista de paquetes NuGet instalados. Para ello, en Visual

Studio crear un nuevo proyecto de formularios Web, seleccione Herramientas -> Biblioteca

Package Manager -> Administrar NuGet Paquetes de Solución y seleccionar los paquetes

instalados en el cuadro de diálogo Administrar paquetes NuGet cuadro.

Touring Visual Studio

Las ventanas primarias en Visual Studio incluyen el Explorador de soluciones, el Explorador de

servidores (Explorador de base de datos en Express), la ventana de Propiedades, la caja de

herramientas, la barra de herramientas, y la Ventana de documento.

Para obtener más información acerca de Visual Studio, consulte Guía Visual de Visual Web

Developer.

Sumario

En este tutorial que ha creado, revisado y ejecutar la aplicación Web Forms predeterminada.

Tienes revisado las diferentes características de la aplicación de los formularios Web

predeterminado y aprendido algunos conceptos básicos acerca de cómo utilizar el entorno de

Visual Studio. En los siguientes tutoriales vamos a crear los datos capa de acceso.

Recursos adicionales

Elegir el modelo de programación de Derecho Proyectos de aplicación Web frente Web Proyectos

Sitio ASP.NET Web Forms Páginas Información general

Página 30

Crear la capa de acceso a datos

Esta serie tutorial te enseñará los fundamentos de la construcción de una aplicación Web Forms

ASP.NET utilizando ASP.NET 4.5 y Microsoft Visual Studio Express 2013 para Web. Un estudio de

Page 12: Getting Started With ASP.net Español

2013 del proyecto de Visual con fuente de C # código está disponible para acompañar esta serie de

tutoriales.

Este tutorial describe cómo crear, acceder y revisar los datos de una base de datos utilizando

ASP.NET Web Forms y Entity Framework Primer Código. Este tutorial se basa en el tutorial anterior

"Crear el Proyecto "y forma parte de la serie de tutoriales Wingtip Toy Store. Cuando hayas

completado este tutorial, habrá construido un grupo de clases de acceso a datos que están en la

carpeta Modelos del proyecto.

Lo que aprenderá:

Cómo crear los modelos de datos. Cómo inicializar y sembrar la base de datos. Cómo actualizar y configurar la aplicación para apoyar la base de datos.

Estas son las características introducidas en el tutorial:

Entity Framework Primer Código LocalDB Datos Anotaciones

La creación de los modelos de datos

Entity Framework es un framework de mapeo objeto-relacional (ORM). Se le permite trabajar con

datos relacionales como objetos, lo que elimina la mayor parte del código de acceso a datos que te

gustaría normalmente necesita escribir. El uso de Entity Framework, puede emitir consultas

utilizando LINQ, a continuación, recuperar y manipular datos tan fuertemente mecanografiadas

objetos. LINQ proporciona pautas para consultar y actualizar datos. Usando Entity Framework le

permite centrarse en crear el resto de su aplicación, en lugar de centrándose en los aspectos

fundamentales de acceso a datos. Más adelante en esta serie de tutoriales, le mostraremos cómo

utilizar los datos para rellenar las consultas de navegación y de productos.

Entity Framework apoya un paradigma de desarrollo llamado Primer Código. Código Primero le

permite definir sus modelos de datos utilizando clases. Una clase es una construcción que le

permite crear su propio tipos personalizados mediante la agrupación de variables de otros tipos,

métodos y eventos. Puede asignar clases a una base de datos existente o los utilizan para generar

una base de datos. En este tutorial, vamos a crear los modelos de datos escribiendo clases del

modelo de datos. Entonces, dejarás de Entity Framework crear el base de datos sobre la marcha a

partir de estas nuevas clases.

Usted va a comenzar por la creación de las clases de entidad que definen los modelos de datos de

los formularios Web solicitud. Entonces se creará una clase de contexto que gestiona las clases de

entidad y proporciona de acceso a datos a la base de datos. También creará una clase inicializador

que va a utilizar para rellenar la base de datos.

Página 31

Page 13: Getting Started With ASP.net Español

Entity Framework y Referencias

Por defecto, Entity Framework se incluye cuando se crea una nueva aplicación Web ASP.NET

utilizando la plantilla de formularios Web Forms. Entity Framework se puede instalar, desinstalar,

y lo actualiza según un paquete NuGet.

Este paquete NuGet incluye los siguientes conjuntos de tiempo de ejecución dentro de su

proyecto:

EntityFramework.dll - Todo el código de tiempo de ejecución común utilizado por Entity Framework

EntityFramework.SqlServer.dll - El proveedor de Microsoft SQL Server para Entity Framework

Las clases de entidad

Las clases que crean para definir el esquema de los datos se llaman clases de entidad. Si eres

nuevo en diseño de base de datos, pensar en las clases de entidad como definiciones de tablas de

una base de datos. Cada propiedad en la clase especifica una columna de la tabla de la base de

datos. Estas clases proporcionan un peso ligero, interfaz de objeto-relacional entre el código

orientado a objetos y la estructura de la tabla relacional de la base de datos.

En este tutorial, usted comenzará a cabo mediante la adición de clases de entidad simples que

representan los esquemas de productos y categorías. La clase de productos contiene definiciones

para cada producto. El nombre de cada uno de los miembros de la clase de producto habrá

ProductID, ProductName, Descripción, ImagePath, PrecioUnidad, IdCategoría, y categoría. La clase

de categoría voluntad contiene definiciones para cada categoría que un producto puede

pertenecer a, por ejemplo, coche, barco o avión. El nombre de cada uno de los miembros de la

clase de categoría será CategoryID, CategoryName, Descripción y productos. Cada producto

pertenecerá a una de las categorías. Estos entidad clases serán agregados a la carpeta de modelos

existentes del proyecto.

Página 32

1. En el Explorador de soluciones, haga clic en la carpeta Modelos y luego seleccione

Agregar -> Nuevo elemento.

Page 14: Getting Started With ASP.net Español

Se muestra el cuadro de diálogo Agregar nuevo elemento.

Página 33

2. En Visual C # en el panel instalado en la izquierda, seleccione Código.

3. Seleccione clase en el panel central y el nombre de este nuevo Product.cs clase.

4. Haga clic en Agregar.

El nuevo archivo de clase se muestra en el editor.

5. Reemplace el código predeterminado con el siguiente código:

Page 15: Getting Started With ASP.net Español

Página 34

6. Cree otra clase repitiendo los pasos 1 a 4, sin embargo, el nombre de la nueva clase Category.cs

y reemplazar el código predeterminado con el siguiente código:

Como se mencionó anteriormente, la clase Categoría representa el tipo de producto que la

aplicación está diseñada para vender (como "Cars", "Barcos", "Rockets", y así sucesivamente), y el

producto clase representa los productos individuales (juguetes) en la base de datos. Cada instancia

de un Producto objeto corresponderá a una fila dentro de una tabla de base de datos relacional, y

cada propiedad de la Clase de producto asignará a una columna en la tabla de base de datos

relacional. Más adelante en este tutorial, revisar los datos de los productos que figuran en la base

de datos.

Datos Anotaciones

Usted puede haber notado que ciertos miembros de las clases tienen atributos que especifican

detalles alrededor del elemento, como [ScaffoldColumn (false)]. Estos son anotaciones de datos.

los atributos de anotación de datos pueden describir cómo validar la entrada del usuario para ese

miembro, para especificar formato para ella, y para especificar la forma en que se modela cuando

se crea la base de datos.

Contexto Clase

Para empezar a utilizar las clases para el acceso a datos, debe definir una clase de contexto. Como

se mencionó anteriormente, la clase de contexto gestiona las clases de entidad (como la clase del

producto y de la Clase Categoría) y proporciona acceso a los datos a la base de datos.

Este procedimiento agrega un nuevo C # clase de contexto a la Modelos carpeta.

1. Haga clic en el Modelos carpeta y luego seleccione Agregar -> Nuevo elemento.

Page 16: Getting Started With ASP.net Español

El Agregar nuevo elemento se muestra el cuadro de diálogo.

2. Seleccione la clase del panel central, lo nombra ProductContext.cs y haga clic en Añadir.

3. Reemplace el código predeterminado contenida en la clase con el siguiente código:

Página 35

Este código agrega el espacio de nombres System.Data.Entity para que tenga acceso a todo el

núcleo funcionalidad de Entity Framework, que incluye la capacidad de consultar, insertar,

actualizar y eliminar datos al trabajar con objetos inflexible de tipos.

La clase ProductContext representa Entity Framework contexto de base de datos de productos,

que maneja ir a buscar, almacenar y actualizar instancias de la clase de producto en la base de

datos. Los Clase ProductContext deriva de la clase base DbContext proporcionada por Entity

Framework.

Inicializador Clase

Usted tendrá que ejecutar alguna lógica personalizada para inicializar la base de datos la primera

vez que el contexto es utilizado. Esto permitirá que los datos de semillas que se añadirán a la base

de datos para que pueda mostrar de inmediato productos y categorías.

Este procedimiento agrega una nueva clase C # inicializador al Modelos carpeta.

1. Cree otra clase en el Modelos carpeta y nombrarla ProductDatabaseInitializer.cs.

2. Reemplace el código predeterminado contenida en la clase con el siguiente código:

Page 17: Getting Started With ASP.net Español

Página 36

Page 18: Getting Started With ASP.net Español
Page 19: Getting Started With ASP.net Español

Página 37

Page 20: Getting Started With ASP.net Español
Page 21: Getting Started With ASP.net Español

Página 38

Page 22: Getting Started With ASP.net Español
Page 23: Getting Started With ASP.net Español

Página 39

Como se puede ver en el código anterior, cuando se crea y se inicializa la base de datos, la Semilla

propiedad está anulado y configurar. Cuando la propiedad de Semillas se establece, los valores de

las categorías y los productos se utilizan para rellenar la base de datos. Si intenta actualizar los

datos de semillas por modificar el código anterior después de la base de datos se ha creado, no

podrá ver las actualizaciones cuando ejecutar la aplicación Web. La razón es que el código anterior

utiliza una implementación de la Clase DropCreateDatabaseIfModelChanges reconocer si el

modelo (esquema) tiene cambiado antes de restablecer los datos de semillas. Si no se realizan

cambios a la categoría y Clases de entidad de producto, la base de datos no se reinicializan con los

datos de semillas.

Nota

Si querías la base de datos para ser recreado cada vez que se ejecutó la aplicación, puede utilizar la

clase en lugar de la DropCreateDatabaseAlways Clase DropCreateDatabaseIfModelChanges. Sin

embargo, para esta serie de tutoriales, utilice el Clase DropCreateDatabaseIfModelChanges.

En este punto, en este tutorial, usted tendrá una Modelos carpeta con cuatro clases nuevas y una

por defectoclase:

Página 40

Page 24: Getting Started With ASP.net Español

Configurar la aplicación para que utilice el modelo de datos

Ahora que usted ha creado las clases que representan los datos, debe configurar la aplicación

utilizar las clases. En el Global.asax archivo, agregue código que inicializa el modelo. en el

Web.config archivo que añadir la información que le dice a la aplicación de base de datos que va a

utilizar para almacenarlos datos que se representa por las nuevas clases de datos. El Global.asax

archivo se puede utilizar para manejareventos de aplicación o métodos. El Web.config archivo le

permite controlar la configuración delsu aplicación web ASP.NET.

Actualización del archivo Global.asax

Página 41

Para inicializar los modelos de datos cuando se inicia la aplicación, se actualizará el Manejador

Application_Start en el Global.asax.cs archivo.

Nota

En el Explorador de soluciones, puede seleccionar el Global.asax archivo o la Global.asax.cs archivo

para editar laGlobal.asax.cs archivo.

1. Agregue el siguiente código resaltado en amarillo con el método Application_Start en el

Global.asax.cs archivo.

Nota

Su navegador debe soportar HTML5 para ver el código resaltado en amarillo cuando se ve

esteserie de tutoriales en un navegador.

Page 25: Getting Started With ASP.net Español

Como se muestra en el código anterior, cuando se inicia la aplicación, la aplicación especifica

el inicializador que se ejecutará durante la primera vez que se accede a los datos. Los dos

espacios de nombres adicionales necesaria para acceder al objeto Database y el objeto

ProductDatabaseInitializer.

Modificar el archivo Web.config

Aunque Código Entity Framework Primera generará una base de datos para usted en una

ubicación predeterminada cuando la base de datos se rellena con datos de semillas,

añadiendo su propia información de conexión a su aplicación le da el control de la ubicación

de la base de datos. Se especifica esta base de datos conexión mediante una cadena de

conexión en el de la aplicación Web.config archivo en la raíz de la

Página 42

proyecto. Mediante la adición de una nueva cadena de conexión, puede dirigir la ubicación de la

base de datos (Wingtiptoys.mdf) que se construirá en el directorio de datos de la aplicación

(App_Data), en lugar de su valor por defecto localización. Realizar este cambio le permitirá

encontrar e inspeccionar el archivo de base de datos más adelante en este tutorial.

1. En el Explorador de soluciones, encontrar y abrir el Web.config archivo.

2. Agregue la siguiente cadena de conexión resaltado en amarillo a la <connectionStrings> del

web.config archivo de la siguiente manera:

Cuando se ejecuta la aplicación por primera vez, se va a construir la base de datos en la ubicación

especificada por la cadena de conexión. Pero antes de ejecutar la aplicación, vamos a construir

primero.

La construcción de la Aplicación

Para asegurarse de que todas las clases y los cambios en su trabajo de aplicación Web, usted debe

construir la aplicación.

1. En la depuración de menús, seleccione Construir WingtipToys.

La salida se muestra la ventana, y si todo ha ido bien, verá un logrado mensaje.

Page 26: Getting Started With ASP.net Español

Si surge un error, vuelva a comprobar los pasos anteriores. La información de la salida ventana

se indicar qué archivo tiene un problema y en qué parte del archivo es necesario un cambio.

Esta información será que permitirá determinar qué parte de los pasos anteriores necesita ser

revisado y corregido en su proyecto.

Sumario

Página 43

En este tutorial de la serie que ha creado el modelo de datos, así como, agregó el código que hará

ser utilizado para inicializar y sembrar la base de datos. También ha configurado la aplicación para

utilizar el modelos de datos cuando se ejecuta la aplicación.

En el siguiente tutorial, podrás actualizar la interfaz de usuario, agrega la navegación, y recuperar

datos de la base de datos. Esto dará lugar a la base de datos está automáticamente creado en base

a las clases de entidad que creado en este tutorial.

Recursos adicionales

Entity Framework Información general Guía para principiantes al Marco ADO.NET Entity Primer

Código de Desarrollo con Entity Framework (video) Código primeras relaciones Fluido API Código

First Data Anotaciones Las mejoras de productividad para Entity Framework

Página 44

IU y Navegación

Esta serie tutorial te enseñará los fundamentos de la construcción de una aplicación Web Forms

ASP.NET utilizando ASP.NET 4.5 y Microsoft Visual Studio Express 2013 para Web. Un estudio de

2013 del proyecto de Visual con fuente de C # código está disponible para acompañar esta serie de

tutoriales.

En este tutorial, modificar la interfaz de usuario de la aplicación web por defecto para apoyar a las

características de la Wingtip Toys tienda de aplicaciones frente. Además, agregará la navegación

con destino simple y datos. Esta tutorial se basa en el tutorial anterior "Crear la capa de acceso de

datos" y es parte de la punta del ala Serie de tutoriales Juguetes.

Lo que aprenderá:

Cómo cambiar la interfaz de usuario para soportar características de la aplicación frente de la

tienda Wingtip Toys.

Cómo configurar un elemento HTML5 para incluir la página de navegación.

Page 27: Getting Started With ASP.net Español

¿Cómo crear un control basado en datos para navegar a datos específicos de productos.

Cómo visualizar datos de una base de datos creada utilizando Entity Framework Primer Código.

ASP.NET Web Forms permiten crear contenido dinámico para la aplicación web. Cada Página Web

ASP.NET se crea de una manera similar a una página Web HTML estática (una página que hace No

incluye el procesamiento basado en servidor), pero la página Web ASP.NET incluye elementos

adicionales que ASP.NET reconoce y procesos para generar HTML cuando la página se ejecuta.

Con una página HTML estática (.htm o .html archivo), el servidor responde a una solicitud Web al

leer el archivoy enviarla tal cual al navegador. Por el contrario, cuando alguien solicita una página

Web ASP.NET (.aspx Archivo), la página se ejecuta como un programa en el servidor Web.

Mientras que la página está en funcionamiento, lo que puederealizar cualquier tarea que su sitio

Web requiere, incluyendo el cálculo de los valores, leer o escribir información de la base de datos,

o llamar a otros programas. Como su salida, la página produce de forma dinámica marcado (como

elementos en HTML) y envía esta salida dinámica para el navegador.

Modificación de la interfaz de usuario

Tendrá que continuar esta serie de tutoriales modificando el Default.aspx página. Va a modificar la

interfaz de usuarioeso ya está establecido por la plantilla predeterminada que se utiliza para crear

la aplicación. El tipo de modificaciones que va a hacer son típicos al crear cualquier aplicación Web

Forms. Que va a hacer esto cambiar el título, en sustitución de algunos contenidos, y la

eliminación de contenido por defecto que no sean necesarios.

1. Abra o cambie a la Default.aspx página.

2. Si aparece la página en Diseño de vista, cambiar a Fuente vista.

3. En la parte superior de la página en la directiva @ Page, cambie el atributo Título de

"Bienvenido", como se muestra resaltado en amarillo a continuación.

Página 45

4. También en la Default.aspx página, reemplace todo el contenido por defecto que figura en

el<asp: Content> etiqueta de modo que el margen de beneficio aparece como a continuación.

5. Guarde el Default.aspx página seleccionando Guardar Default.aspx del Archivo menú.

El resultado Default.aspx página aparecerá de la siguiente manera:

Page 28: Getting Started With ASP.net Español

En el ejemplo, se ha establecido el atributo Título de la directiva @ Page. Cuando el HTML es

visualizado en un navegador, el código del servidor <%: Page.Title%> resuelve al contenido

contenida en el atributo Title.

La página de ejemplo incluye los elementos básicos que constituyen una página Web

ASP.NET. La pagina contiene texto estático como se puede tener en una página HTML, junto

con elementos que son específicos de ASP.NET. El contenido incluido en el Default.aspx

página se integrará con el maestrocontenido de la página, que se explicará más adelante en

este tutorial.

Directivapage

ASP.NET Web Forms suelen contener directrices que permiten especificar las propiedades de

página y información de configuración de la página. Las directivas son utilizados por ASP.NET

como instrucciones para cómo procesar la página, pero no se rindió, como parte del margen

de beneficio que se envía a la navegador.

La directiva más utilizada es la directiva @ Page, que le permite especificar muchas opciones

de configuración de la página, incluyendo las siguientes:

El lenguaje de programación de servidor de código en la página, como C #.

Si la página es una página con código de servidor directamente en la página, que se

llama una página de un solo archivo, o si se trata de una página con código en un

archivo de clase independiente, que se llama una La página de código subyacente.

Página 46

Si la página tiene una página principal asociado y por lo tanto debe ser tratada como

una página de contenido.

Depuración y opciones de búsqueda.

Si no se incluye una directiva @ Page en la página, o si la directiva no incluye una configuración

específica, la configuración se hereda del Web.config archivo de configuración o de

laMachine.config archivo de configuración. El Machine.config archivo proporciona una

configuración adicionalajustes a todas las aplicaciones que se ejecutan en una máquina.

Nota

El Machine.config también proporciona detalles sobre todas las opciones de configuración

posibles.

Page 29: Getting Started With ASP.net Español

Controles de servidor Web

En la mayoría de las aplicaciones ASP.NET Web Forms, agregará los controles que permiten al

usuario interactuar con la página, tales como botones, cuadros de texto, listas, y así

sucesivamente. Estos controles de servidor Web son similares a los botones HTML y elementos de

entrada. Sin embargo, se procesan en el servidor, lo que le utilizar código de servidor para

establecer sus propiedades. Estos controles también plantean eventos que se pueden manejar en

código del servidor.

Los controles de servidor utilizan una sintaxis especial que ASP.NET reconoce cuando la página se

ejecuta. El nombre de la etiqueta para los controles de servidor ASP.NET se inicia con un asp:

prefijo. Esto permite que ASP.NET para reconocer y procesar estos controles de servidor. El prefijo

puede ser diferente si el control no es parte de .NET Marco. Además de la asp: prefijo, controles

de servidor ASP.NET también incluyen la atributo runat = "server" y un identificador que se puede

utilizar para hacer referencia al control en el código del servidor.

Cuando la página se ejecuta, ASP.NET identifica los controles de servidor y ejecuta el código que

está asociado con esos controles. Muchos controles hacen algo de HTML u otro marcado en la

página cuando se trata visualizado en un navegador.

Código servidor

La mayoría de las aplicaciones ASP.NET Web Forms incluyen código que se ejecuta en el servidor

cuando la página es procesada. Como se mencionó anteriormente, el código de servidor se puede

utilizar para hacer una variedad de cosas, tales como añadiendo datos a un ListView control.

ASP.NET es compatible con muchos idiomas para ejecutarse en el servidor,incluyendo C #, Visual

Basic, J #, y otros.

ASP.NET admite dos modelos para la escritura de código de servidor para una página Web. En el

modelo de un solo archivo, el código de la página está en un elemento de guión donde la etiqueta

de apertura incluye la atributo runat = "server". Alternativamente, se puede crear el código de la

página en un separada archivo de clase, lo que se conoce como el modelo de código subyacente.

En este caso, los formularios Web ASP.NET Página general no contiene código de servidor. En lugar

de ello, la directiva @ Page incluye información que une el .aspx página con su código subyacente

asociado archivo.

Página 47

El atributo CodeBehind contenida en la directiva @ Page especifica el nombre de la separada

archivo de clase, y el atributo Inherits especifica el nombre de la clase en el archivo de código

subyacente que corresponde a la página.

Actualización de la página maestra

En ASP.NET Web Forms, páginas maestras permiten crear un diseño consistente para las páginas

su aplicación. Una sola página maestra define la apariencia y el comportamiento estándar que

desear para todas las páginas (o un grupo de páginas) en su aplicación. A continuación, puede

crear páginas de contenido individuales que contienen el contenido que desea mostrar, como se

Page 30: Getting Started With ASP.net Español

explicó anteriormente. Cuando los usuarios solicitan las páginas de contenido, ASP.NET que se

funde con la página maestra para producir salida que combina el diseño de la página principal con

el contenido de la página de contenidos.

El nuevo sitio necesita un solo logotipo para mostrar en cada página. Para añadir este logo, se

puede modificar el HTML en la página maestra.

1. En el Explorador de soluciones, encontrar y abrir la Site.Master página.

2. Si la página está en Diseño de vista, cambiar a Fuente vista.

3. Actualización de la página maestra por modificar o añadir el marcado resaltado en amarillo:

Página 48

Page 31: Getting Started With ASP.net Español
Page 32: Getting Started With ASP.net Español

Página 49

Este HTML mostrará la imagen con el nombre logo.jpg Del Imágenes carpeta de la aplicación

web,que va a añadir más tarde. Cuando una página que utiliza la página principal se muestra en un

navegador, el Se mostrará el logotipo. Si un usuario hace clic en el logotipo, el usuario navegar de

vuelta a la Default.aspx página. La etiqueta de anclaje HTML <a> envuelve el control de servidor de

imágenes y permite que la imagen sea incluido como parte del enlace. El atributo href de la

etiqueta de anclaje especifica la raíz " ~/ " de El Sitio Web como la ubicación del enlace. Por

defecto, el Default.aspx se visualiza la página cuando el usuarionavega a la raíz del sitio Web. La

imagen <asp: Imagen> control de servidor incluye además propiedades, como BorderStyle, que

hacen como HTML cuando se muestra en un navegador.

Páginas Maestras

Una página maestra es un archivo de ASP.NET con el .master extensión (por ejemplo, Site.Master)

con undiseño predefinido que puede incluir texto estático, los elementos HTML y controles de

servidor. El maestro página se identifica por una directiva @Master especial que sustituye a la

directiva @ Page que se utiliza para los ordinarios .aspx páginas.

Además de la directiva @Master, la página principal también contiene toda la de nivel superior

HTML elementos para una página, como html, cabeza y forma. Por ejemplo, en la página principal

se agregado anteriormente, se utiliza una tabla HTML para el diseño, un elemento img para el

logotipo de la empresa, texto estático, y el servidor de controles para manejar la pertenencia

común para su sitio. Puede utilizar cualquiera HTML y cualquier elemento de ASP.NET, como parte

de su página principal.

Además de texto estático y controles que aparecerá en todas las páginas, la página principal

también incluye uno o más ContentPlaceHolder controles. Estos controles de marcador de

posición definen regiones dondeaparecerá contenido reemplazable. A su vez, el contenido

reemplazable está definido en las páginas de contenido, como Default.aspx, utilizando el

contenido del control de servidor.

Archivos Adición de Imagen

La imagen del logotipo que se hace referencia más arriba, junto con todas las imágenes del

producto, se debe agregar a la aplicación web para que puedan ser vistos cuando el proyecto se

muestra en un navegador.

Page 33: Getting Started With ASP.net Español

Descargar de MSDN sitio de Muestras:

Primeros pasos con ASP.NET 4.5 Web Forms y Visual Studio 2013 - Wingtip Toys (C #)

Página 50

La descarga incluye recursos en el WingtipToys-Activos carpeta que se utilizan para crear

laaplicación de ejemplo.

1. Si aún no lo ha hecho, descargue los archivos de muestra comprimido utilizando el anterior

enlace desde el sitio Las muestras de MSDN.

2. Una vez descargado, abra el archivo .zip y copie el contenido a una carpeta local en su máquina.

3. Busque y abra la WingtipToys-Activos carpeta.

4. Al arrastrar y soltar, copiar el Catálogo carpeta desde la carpeta local a la raíz delel proyecto de

aplicación Web en el Explorador de soluciones de Visual Studio.

5. A continuación, cree una nueva carpeta denominada Imágenes haciendo clic derecho en el

WingtipToys proyectoseleccionar Agregar -> Nueva carpeta.

6. Copie el logo.jpg archivo de la-Activos WingtipToys carpeta en el Explorador de archivos para

las Imágenes carpeta del proyecto de aplicación Web en el Explorador de soluciones de Visual

Studio.

7. Haga clic en el Mostrar todos los archivos opción en la parte superior del Explorador de

soluciones para actualizar la lista de archivossi usted no ve los archivos nuevos.

Page 34: Getting Started With ASP.net Español

Página 51

Explorador de soluciones ahora muestra los archivos de proyecto actualizadas.

Adición de páginas

Antes de añadir navegación para la aplicación Web, primero agrega dos nuevas páginas que usted

va a navegar a. Más adelante en esta serie de tutoriales, podrás visualizar los productos y los

detalles del producto en estos nuevos páginas.

1. En el Explorador de soluciones, haga clic con WingtipToys, haga clic en Agregar y, a

continuación, haga clic en Nuevo elemento.

El Agregar nuevo elemento se muestra el cuadro de diálogo.

Página 52

2. Seleccione el Visual C # -> Web grupo de plantillas a la izquierda. A continuación, seleccione

Web Form con Página maestra de la lista central y el nombre ProductList.aspx.

Page 35: Getting Started With ASP.net Español

3. Seleccione Site.Master para adjuntar la página maestra a la recién creada .aspx página.

3. Agregue una página adicional llamada ProductDetails.aspx siguiendo estos mismos pasos.

Actualización de Manos a la Obra

Página 53

Page 36: Getting Started With ASP.net Español

El estudio 2013 plantillas de proyecto de Visual utilizan Manos a la Obra , Un marco de diseño y

tematización creado por Twitter. Bootstrap utiliza CSS3 para proporcionar el diseño de respuesta,

lo que significa que los diseños pueden adaptarse dinámicamente a diferentes tamaños de

ventana del navegador. También puede usar la tematización de Manos a la Obra función para

efectuar fácilmente un cambio en el aspecto de la aplicación y la sensación. Por defecto, la Web

ASP.NET Plantilla de aplicación en Visual Studio 2013 incluye Bootstrap como un paquete NuGet.

En este tutorial, usted va a cambiar apariencia de la aplicación Wingtip Toys reemplazando el

Bootstrap archivos CSS.

1. En el Explorador de soluciones, abra el contenido de la carpeta.

2. Haga clic en el bootstrap.css archivo y cambiarle el nombre a arrancar-original.css.

3. Cambie el nombre del bootstrap.min.css a arrancar-original.min.css.

4. En el Explorador de soluciones, haga clic en el contenido de la carpeta y seleccione Abrir

carpeta en Archivo Explorador.

Aparecerá el Explorador de archivos. Usted ahorrará un descargados archivos CSS de arranque a

esta localización.

5. En el explorador, vaya a http://Bootswatch.com.

6. Desplácese la ventana del navegador hasta que vea el tema Cerulean.

7. Descargue tanto el bootstrap.css archivo y el bootstrap.min.css archivo en el contenido de la

carpeta.Utilice la ruta a la carpeta de contenido que se muestra en el Explorador de archivos

ventana quepreviamente abierto.

Página 54

Page 37: Getting Started With ASP.net Español

8. En Visual Studio en la parte superior del Explorador de soluciones, seleccione el Mostrar todos

los archivos opción demostrar los nuevos archivos en la carpeta de contenido.

Verá los dos nuevos archivos CSS en el contenido de carpetas, pero notará que el icono junto a

Página 55

cada nombre de archivo aparece atenuado. Esto significa que el archivo aún no ha sido añadido a

la proyecto.

9. Haga clic en el bootstrap.css y los bootstrap.min.css archivos y seleccione Incluir En Proyecto.

Page 38: Getting Started With ASP.net Español

Al ejecutar la aplicación Wingtip Toys más adelante en este tutorial, la nueva interfaz de usuario se

mostrará.

Nota

La plantilla de aplicación Web ASP.NET utiliza el Bundle.config archivo en la raíz del proyecto

paraalmacenar la ruta de los archivos de Bootstrap CSS.

Modificación de la navegación por defecto

La navegación por defecto para todas las páginas de la aplicación se puede modificar cambiando la

desordenada elemento de la lista de navegación que hay en la Site.Master página.

1. En el Explorador de soluciones, busque y abra la Site.Master página.

2. Añadir el enlace de navegación adicional resaltada en amarillo a la lista desordenada muestra a

continuación:

Como se puede ver en el código HTML anterior, modificó cada línea <li> que contiene una etiqueta

de anclaje <a> con un atributo de enlace href. Cada puntos href a una página en la aplicación web.

en el navegador, cuando un usuario hace clic en uno de estos enlaces (como los productos), van a

navegar a lapágina de contenido en el href (como ProductList.aspx). Va a ejecutar la aplicación en

el extremode este tutorial.

Nota

La tilde (~) se utiliza para especificar que el camino href comienza en la raíz del proyecto.

Adición de un control de datos para mostrar los datos de

navegación

A continuación, vamos a añadir un control para mostrar todas las categorías de la base de datos.

Cada categoría actuar como un enlace a la ProductList.aspx página. Cuando un usuario hace clic en

un enlace de la categoría en el navegador,van a navegar a la página de productos y ver sólo los

productos asociados a la seleccionada categoría.

Vamos a usar un ListView control para mostrar todas las categorías que figuran en la base de

datos. Para agregar unListView control a la página principal:

1. En el Site.Master página, agregue el resaltado <div> elemento siguiente después de la etiqueta

<div>elemento que contiene el id = "TitleContent" que agregó anteriormente:

Página 56

Page 39: Getting Started With ASP.net Español

Este código mostrará todas las categorías de la base de datos. Los ListView control muestra cada

unonombre de la categoría como texto de enlace e incluye un enlace a la ProductList.aspx página

con una cadena de consultavalor que contiene el ID de la categoría. Al establecer la propiedad

ItemType en el ListView control, la expresión artículo de enlace de datos está disponible en el

nodo y la ItemTemplate el control se vuelve inflexible de tipos. Puede seleccionar detalles del

objeto Item utilizando IntelliSense, tal como especifica el CategoryName. Este código está

contenido dentro del contenedor <% #:%> que marca una expresión de enlace de datos. Mediante

la adición de la (:) para el final de la <% # prefijo, el resultado de la expresión de enlace de datos es

el HTML con codificación. Cuando se codifica en HTML el resultado, su aplicación está mejor

protegido contra la inyección de cross-site guión (XSS) y la inyección HTML ataques.

Consejo

Cuando se agrega el código escribiendo durante el desarrollo, usted puede estar seguro de que un

miembro válido de un objeto se encuentra porque los controles de datos inflexible muestran los

miembros disponibles basados en IntelliSense. IntelliSense ofrece opciones de código al contexto

apropiado a medida que escribe código, como propiedades, métodos y objetos.

En el siguiente paso, se le aplicar el método GetCategories para recuperar datos.

Enlazar el control de datos a la base de datos

Antes de poder mostrar los datos en el control de datos, es necesario vincular el control de datos a

la base de datos. Para hacer el enlace, puede modificar el código detrás del Site.Master.cs archivo.

1. En el Explorador de soluciones, haga clic en el Site.Master página y luego haga clic en Ver

código. los Site.Master.cs archivo se abre en el editor.

2. Cerca del comienzo de la Site.Master.cs archivo, agregue dos espacios de nombres adicionales

para que todos loslos espacios de nombres incluidos aparecen como sigue:

Page 40: Getting Started With ASP.net Español

Página 57

4. Agregue el método GetCategories destacó después el controlador de eventos Page_Load

como de la siguiente manera:

Se ejecuta el código de seguridad cuando cualquier página que utiliza la página maestra se carga

en el navegador. El control ListView (llamado "categoryList") que ha agregado anteriormente en

este tutorial utiliza el modelo vinculante para seleccionar datos. En el margen de beneficio del

control ListView se establece el control de Propiedad SelectMethod al método GetCategories, se

muestra arriba. El ListView control de llama al método GetCategories en el momento adecuado en

el ciclo de vida de la página y se une de forma automática los datos devueltos. Usted aprenderá

más sobre el enlace de datos en la siguiente tutorial.

Ejecutar la aplicación y creación de la base de datos

A principios de esta serie de tutoriales que ha creado una clase de inicialización (llamado

"ProductDatabaseInitializer") y especificado esta clase en el global.asax.cs archivo. El Entity

Framework generará la base de datoscuando la aplicación se ejecuta la primera vez porque el

método Application_Start contenía en el global.asax.cs archivo llamará la clase inicializador. La

clase de inicialización utilizará el modelo de clases(Categoría y Producto) que agregó

anteriormente en esta serie de tutoriales para crear la base de datos.

1. En el Explorador de soluciones, haga clic en el Default.aspx página y seleccione Establecer

como página de inicio.

2. En Visual prensa Estudio F5.

Tomará un poco de tiempo para preparar todo en esta primera ejecución.

Página 58

Page 41: Getting Started With ASP.net Español

Al ejecutar la aplicación, la aplicación se compilará y la base de datos el nombre wingtiptoys.mdf

se creará en el App_Data carpeta. En el navegador, verá unamenú de navegación categoría. Este

menú se ha generado por la recuperación de las categorías de la base de datos. En el siguiente

tutorial, poner en práctica la navegación.

3. Cierre el navegador para detener la aplicación en ejecución.

Revisar la base de datos

Abra el Web.config archivo y ver la sección de cadena de conexión. Usted puede ver que

elAttachDBFileName valor en los puntos de cadena de conexión a la DataDirectory para la Web

proyecto de aplicación. El valor | DataDirectory | es un valor reservado que representa la

App_Data carpeta en el proyecto. Esta carpeta es donde la base de datos que se creó a partir de

suclases de entidad se encuentra.

Nota

Página 59

Si el App_Data carpeta no es visible o si la carpeta está vacía, seleccione la actualización de icono y

después el Mostrar todos los archivos de iconos en la parte superior del Explorador de soluciones

Page 42: Getting Started With ASP.net Español

ventana. La ampliación de la anchura de laExplorador de soluciones ventanas pueden ser

necesarios para mostrar todos los iconos disponibles.

Ahora usted puede inspeccionar los datos contenidos en el wingtiptoys.mdf archivo de base de

datos utilizando el servidor Explorador de ventana.

1. Ampliar el App_Data carpeta. Si el App_Data carpeta no es visible, véase la nota anterior.

2. Si el wingtiptoys.mdf archivo de base de datos no está visible, seleccione la actualización icono y

luego elMostrar todos los archivos de iconos en la parte superior del Explorador de soluciones

ventana.

3. Haga clic en la wingtiptoys.mdf archivo de base de datos y seleccione Abrir.Explorador de

servidores se muestra.

4. Ampliar la Tablas carpeta.

Página 60

5. Haga clic en el los productos tabla y seleccione Mostrar tabla de datos.El productos se muestra

la tabla.

Page 43: Getting Started With ASP.net Español

6. Esta vista le permite ver y modificar los datos en el los productos de mesa con la mano.

7. Cierre la los productos ventana de la tabla.

8. En el Explorador de servidores, haga clic en el los productos de mesa de nuevo y seleccione

Abrir tabla Definición.

Página 61

El diseño de datos para la los productos se muestra la tabla.

Page 44: Getting Started With ASP.net Español

9. En el T-SQL pestaña podrás ver la sentencia SQL DDL que se utilizó para crear la tabla.También

puede utilizar la interfaz de usuario en el diseño de ficha para modificar el esquema.

10. En el Explorador de servidores, haga clic WingtipToys base de datos y seleccione Cerrar

conexión.Por separación de la base de datos desde Visual Studio, el esquema de base de datos

será capaz de estar modificada más adelante en esta serie de tutoriales.

11. Volver al Explorador de soluciones, seleccione el Explorador de soluciones pestaña en la parte

inferior de laExplorador de servidores ventana.

Sumario

En este tutorial de la serie que ha añadido algunos básicos de interfaz de usuario, gráficos,

páginas, y la navegación. Además, se ejecutó la aplicación web, que creó la base de datos de las

clases de datos que agregó en el tutorial anterior. Usted también vieron el contenido de la

Productos mesa delbase de datos mediante la visualización de la base de datos directamente. En

el siguiente tutorial, podrás visualizar los elementos de datos y detalles de la base de datos.

Recursos adicionales

Página 62

Introducción a la programación ASP.NET Web Pages S

ervidor Web ASP.NET Controles general

CSS Tutorial

Página 63

Elementos de la pantalla de datos y detalles

Esta serie tutorial te enseñará los fundamentos de la construcción de una aplicación Web Forms

ASP.NET utilizando ASP.NET 4.5 y Microsoft Visual Studio Express 2013 para Web. Un estudio de

2013 del proyecto de Visual con fuente de C # código está disponible para acompañar esta serie de

tutoriales.

Este tutorial describe cómo mostrar los elementos de datos y detalles de elementos de datos

usando Web ASP.NET Formas y Entity Framework Primer Código. Este tutorial se basa en el

anterior tutorial interfaz de usuario "y Navegación "y es parte de la serie de tutoriales Wingtip Toy

Store. Cuando hayas completado este tutorial, usted será capaz de ver los productos en el

ProductsList.aspx página y detalles acerca de unproducto individual en la ProductDetails.aspx

página.

Lo que aprenderá:

¿Cómo agregar un control de datos para mostrar los productos de la base de datos. Cómo conectar un control de datos para los datos seleccionados. ¿Cómo agregar un control de datos para mostrar los detalles del producto a partir de la base de datos.

Page 45: Getting Started With ASP.net Español

Cómo recuperar un valor de la cadena de consulta y utilizar este valor para limitar los datos que es recuperado de la base de datos.

Estas son las características introducidas en el tutorial:

La unión Modelo proveedores de valor

Adición de un control de datos para mostrar los productos

Al enlazar datos a un control de servidor, hay algunas opciones diferentes que puede utilizar. El

más opciones comunes incluyen la adición de un control de origen de datos, añadiendo código a

mano, o utilizando el modelo Unión.

El uso de un control de origen de datos para enlazar datos

Adición de un control de origen de datos te permite enlazar el control de la fuente de datos para el

control que muestra los datos. Este enfoque le permite conectar de forma declarativa controles

del lado del servidor directamente a fuentes de datos, en lugar de utilizar un enfoque

programático.

Codificación a mano para enlazar datos

Adición de código a mano consiste en leer el valor, la comprobación de un valor nulo, el intento de

convertirlo en el tipo apropiado, comprobar si la conversión se ha realizado correctamente, y por

último, utilizando el valor en la consulta. Se podría utilizar este método cuando se necesita para

mantener el control total sobre la lógica de acceso a datos.

Usando Encuadernación Modelo para enlazar datos

Página 64

Usando vinculante modelo le permite enlazar los resultados utilizando menos código y le da la

capacidad de reutilizar la funcionalidad a través de su aplicación. Objetivos para simplificar el

trabajo de unión Modelo con la lógica de acceso a datos en código enfocado al tiempo que

conserva las ventajas de un rico, de enlace de datos marco.

Viendo productos

En este tutorial, vamos a usar el modelo de unión para enlazar datos. Para configurar un control

de datos para utilizar el modelo vinculante para seleccionar datos, establece la propiedad

SelectMethod del control en el nombre de un método en el código de la página. El control de

datos llama al método en el momento adecuado en la vida de la página ciclo y automáticamente

une los datos devueltos. No hay necesidad de llamar explícitamente al DataBind método.

El uso de estos pasos, podrás modificar el margen de beneficio en el ProductList.aspx página para

que la páginapuede mostrar los productos.

Page 46: Getting Started With ASP.net Español

1. En el Explorador de soluciones, abra el ProductList.aspx página.

2. Vuelva a colocar el marcado existente con el siguiente marcado:

Página 65

Page 47: Getting Started With ASP.net Español

Este código utiliza un ListView control denominado "Lista del producto" para mostrar los

productos.

Los ListView muestra datos de control en un formato que se definen mediante el uso de plantillas

y estilos. Ello es útil para los datos en cualquier estructura repetitiva. Este ListView ejemplo

simplemente muestra los datos de labase de datos, sin embargo usted puede permitir a los

usuarios editar, insertar y borrar datos y para ordenar y la página de datos, todo ello sin código.

Página 66

Page 48: Getting Started With ASP.net Español

Al establecer la propiedad ItemType en el ListView control, la expresión de artículos de enlace de

datos esdisponible y el control se vuelve inflexible de tipos. Como se mencionó en el tutorial

anterior, puede seleccionar los detalles de la Artículo objetar el uso de IntelliSense, como

especifica el producto:

Además, está utilizando el modelo de unión para especificar un valor SelectMethod. Este valor

(GetProducts) se corresponderán con el método que va a agregar al código subyacente para

mostrar productos en el siguiente paso.

Agregar código para mostrar los productos

En este paso, agregará código para rellenar el ListView de control con datos de los productos de la

base de datos. El código apoyará mostrando productos por categoría individual, así como mostrar

todo productos.

1. En el Explorador de soluciones, haga clic con ProductList.aspx y luego haga clic en Ver código.

2. Reemplace el código existente en los ProductList.aspx.cs archivo con el siguiente código:

Page 49: Getting Started With ASP.net Español

Página 67

Este código muestra el método GetProducts que se hace referencia en el hotel ItemType del

ListView control en el ProductList.aspx página. Para limitar los resultados a una categoría

específica en elbase de datos, el código establece el valor IdCategoría a partir del valor de cadena

de consulta pasa al ProductList.aspx página cuando el ProductList.aspx página se navega a. los

Clase QueryStringAttribute en el espacio de nombres System.Web.ModelBinding se utiliza para

recuperar el valor de la variable de cadena de consulta Identificación . Esto indica vinculante

modelo para tratar de obligar a un valor de la cadena de consulta para el parámetro IdCategoría

en tiempo de ejecución.

Cuando una categoría válida se pasa como una cadena de consulta de la página, los resultados de

la consulta son limitado a esos productos en la base de datos que coinciden con el valor

IdCategoría. Por ejemplo, si el URL para la ProductsList.aspx página es la siguiente:

La página sólo muestra los productos en los que la categoría es igual a 1.

Si no hay cadena de consulta se incluye cuando se navega a la ProductList.aspx página, todos los

productos serán visualizado.

Las fuentes de valores para estos métodos se conocen como proveedores de valor (tales como

cadena de consulta),y los atributos de parámetro que indican qué proveedor de valor a utilizar se

conocen como valor atributos del proveedor (como "id"). ASP.NET incluye proveedores de valor y

correspondiente atributos para todas las fuentes típicas de entrada del usuario en una aplicación

Web Forms, como el cadena de consulta, las galletas, los valores de formulario, los controles, el

estado de vista, el estado de sesión, y las propiedades de perfil. usted También puede escribir

proveedores de valor personalizados.

Ejecutar la aplicación

Ejecutar la aplicación ahora para ver cómo se puede ver todos los productos o sólo un conjunto de

productos limitado por categoría.

1. En el Explorador de soluciones, haga clic en el Default.aspx página y seleccione Ver en el

explorador.El navegador se abrirá y mostrará el Default.aspx página.

Page 50: Getting Started With ASP.net Español

2. Seleccione Coches en el menú de navegación de la categoría de producto.El ProductList.aspx se

muestra la página que muestra sólo los productos incluidos en los "Cars"

Página 68

categoría. Más adelante en este tutorial, se le mostrará los detalles del producto.

3. Seleccione los productos desde el menú de navegación en la parte superior.De nuevo, el

ProductList.aspx se muestra la página, sin embargo esta vez se muestra toda la lista de

Página 69

productos.

Page 51: Getting Started With ASP.net Español

4. Cierre el navegador y volver a Visual Studio.

Página 70

Adición de un control de datos para mostrar los detalles del

producto

A continuación, podrás modificar el margen de beneficio en el ProductDetails.aspx página que

agregó en el anteriortutorial para que la página puede mostrar información sobre un producto

individual.

1. En el Explorador de soluciones, abra el ProductDetails.aspx página.

2. Vuelva a colocar el marcado existente con el siguiente marcado:

Page 52: Getting Started With ASP.net Español

Este código utiliza un FormView de control para visualizar detalles sobre un producto individual.

Este margen de beneficioutiliza métodos como los que se utilizan para mostrar los datos en la

ProductList.aspx página. los FormView control se utiliza para mostrar un único registro a la vez de

una fuente de datos. Cuando se utiliza el FormView control, crear plantillas para mostrar y los

valores enlazados a datos de edición. los plantillas contienen controles, expresiones de unión, y el

formato que definen el aspecto y la funcionalidad de la forma.

Para conectar el margen de beneficio por encima de la base de datos, debe agregar código

adicional para la ProductDetails.aspx código.

Página 71

1. En el Explorador de soluciones, haga clic con ProductDetails.aspx y luego haga clic en Ver

código.El ProductDetails.aspx.cs se mostrará archivo.

2. Reemplace el código existente con el siguiente código:

Page 53: Getting Started With ASP.net Español

Este código comprueba si hay una "productID" valor de la consulta cuerdas. Si no se encuentra un

valor de cadena de consulta válida, se muestra el producto encontrado. Si no hay cadena de

consulta se encuentra, o el valor de cadena de consulta no es válido, ningún producto se muestra

en la ProductDetails.aspx página.

Ejecutar la aplicación

Ahora se puede ejecutar la aplicación para ver un producto individual desplegados basándose en

la identificación de la producto.

1. Presione F5 mientras que en Visual Studio para ejecutar la aplicación.El navegador se abrirá y

mostrará el Default.aspx página.

2. Seleccione "Barcos" en el menú de navegación de la categoría. El ProductList.aspx se muestra la

página.

Página 72

3. Seleccione el "Barco de papel" producto de la lista de productos. El ProductDetails.aspx se

muestra la página.

Page 54: Getting Started With ASP.net Español

4. Cierre el explorador.

Sumario

En este tutorial de la serie que tiene agregar marcado y el código para mostrar una lista de

productos y los detalles del producto pantalla. Durante este proceso que ha aprendido datos

sobre inflexible de tipos controles, vinculante modelo y proveedores de valor. En el siguiente

tutorial, vamos a añadir un carrito de compras para la aplicación de ejemplo Wingtip Toys.

Recursos adicionales

Recuperar y mostrar los datos con el modelo de unión y formularios web

Página 73

Carrito de compras

Esta serie tutorial te enseñará los fundamentos de la construcción de una aplicación Web Forms

ASP.NET utilizando ASP.NET 4.5 y Microsoft Visual Studio Express 2013 para Web. Un estudio de

2013 del proyecto de Visual con fuente de C # código está disponible para acompañar esta serie de

tutoriales.

Este tutorial describe la lógica de negocio necesaria para añadir un carrito de compras para los

juguetes Wingtip Web de ejemplo ASP.NET Forms. Este tutorial se basa en el tutorial anterior

"Display Elementos de datos y detalles "y es parte de la serie de tutoriales Wingtip Toy Store.

Cuando tienes completado este tutorial, los usuarios de su aplicación de ejemplo serán capaces de

añadir, eliminar y modificar los productos en su carrito de compras.

Lo que aprenderá:

Page 55: Getting Started With ASP.net Español

¿Cómo crear un carrito de la compra para la aplicación web.

¿Cómo permitir a los usuarios agregar elementos a la cesta de la compra.

¿Cómo añadir un GridView control para mostrar cesta de la compra detalles.

¿Cómo calcular y mostrar el total del pedido.

Cómo quitar y artículos de actualización en el carrito de compras.

Cómo incluir un contador de carrito de compras.

Código dispone en este tutorial:

Entity Framework Primer Código

Datos Anotaciones

controles de datos fuertemente tipado

vinculante Modelo

Creación de una cesta de la compra

A principios de esta serie de tutoriales, que ha añadido páginas y el código para ver los datos de

productos a partir de una base de datos. En este tutorial, vamos a crear un carrito de compras

para gestionar los productos que los usuarios están interesados en comprar. Los usuarios serán

capaces de buscar y agregar elementos a la cesta de la compra, incluso si no son registrado o

conectado. Para gestionar la cesta de acceso, se le asignará a los usuarios un identificador único

usando un identificador único global (GUID) cuando el usuario accede a la cesta de la compra por

primera hora. Usted guarda el ID utilizando el estado de sesión de ASP.NET.

Nota

El estado de sesión de ASP.NET es un lugar conveniente para almacenar información específica del

usuario que va a caducará cuando el usuario sale del sitio. Mientras que el uso indebido de estado

de sesión puede tener un rendimiento implicaciones en los sitios más grandes, el uso de la luz de

estado de sesión funciona bien para fines de demostración. El proyecto de ejemplo Wingtip Toys

muestra cómo utilizar el estado de sesión sin un proveedor externo, donde se almacena el estado

de sesión en proceso en el servidor web que aloja el sitio. Para los sitios más grandes que

Página 74

proporcionar múltiples instancias de una aplicación o de los sitios que se ejecutan varias instancias

de un aplicación en diferentes servidores, considere el uso de Windows Azure Servicio de caché.

Esta cachéServicio ofrece un servicio de almacenamiento en caché distribuida que es externo a la

página web y resuelve el problema de utilizar el estado de sesión en proceso. Para obtener más

información, consulte Cómo utilizar ASP.NET Estado de la sesión con el Windows Azure Sitios Web.

Añadir CartItem como modelo Clase

A principios de esta serie de tutoriales, que ha definido el esquema para los datos de categoría y

de productos por la creación de la categoría de producto y las clases en el Modelos carpeta. Ahora,

Page 56: Getting Started With ASP.net Español

agregue una nueva clase dedefinir el esquema para el carrito de compras. Más adelante en este

tutorial, agregará una clase para manejar datos acceso a la tabla CartItem. Esta clase

proporcionará la lógica de negocio para agregar, quitar, y artículos de actualización en el carrito de

compras.

Haga clic con el Modelos carpeta y seleccione Agregar -> Nuevo elemento.

Página 75

El Agregar nuevo elemento se muestra el cuadro de diálogo. Seleccione Código y, a continuación,

seleccione la clase.

Page 57: Getting Started With ASP.net Español

Nombre esta nueva clase CartItem.cs.

Haga clic en Agregar.

El nuevo archivo de clase se muestra en el editor. Reemplace el código predeterminado con el

siguiente código:

La clase CartItem contiene el esquema que definirá cada producto un usuario agrega a la carrito

de compras. Esta clase es similar a las otras clases de esquema que creó anteriormente en este

tutorial serie. Por convención, Entity Framework Primer Código espera que la clave principal para

la Mesa CartItem será o CartItemId o ID. Sin embargo, el código anula por defecto

Página 76

Page 58: Getting Started With ASP.net Español

comportamiento mediante la anotación de datos de atributos [Clave]. El atributo clave de la

propiedad ItemId especifica que la propiedad ItemID es la clave principal.

La propiedad CartId especifica el ID de usuario que está asociado con el elemento de la compra.

Vamos a añadir código para crear este ID de usuario cuando el usuario accede a la cesta de la

compra. Este ID será también se almacena como una variable de sesión de ASP.NET.

Actualizar el Contexto del producto

Además de agregar la clase CartItem, tendrá que actualizar la clase de contexto de base de datos

que gestiona las clases de entidad y que proporciona acceso a los datos a la base de datos. Para

ello, agregará la clase del modelo CartItem recién creado para la clase ProductContext.

1. En el Explorador de soluciones, encontrar y abrir la ProductContext.cs archivo en el Modelos

carpeta.

2. Agregue el código resaltado a la ProductContext.cs archivo de la siguiente manera:

Como se mencionó anteriormente en esta serie de tutoriales, el código en el ProductContext.cs

archivo añade elEspacio de nombres System.Data.Entity de modo que usted tiene acceso a toda la

funcionalidad principal de la Entity Framework. Esta funcionalidad incluye la capacidad de

consultar, insertar, actualizar y eliminar datos al trabajar con objetos inflexible de tipos. La clase

ProductContext añade el acceso a la recién agregado clase del modelo CartItem.

La gestión de la cesta de la compra de lógica de negocios

A continuación, vamos a crear la clase ShoppingCart en una nueva lógica carpeta. La clase

ShoppingCartmaneja el acceso a datos de la tabla CartItem. La clase también incluirá la lógica de

negocio para agregar, eliminar y actualizar los elementos de la cesta de la compra.

El carrito de compras lógica que va a agregar contendrá la funcionalidad para gestionar la

siguiente acciones:

1. La adición de artículos a la cesta de la compra

2. Eliminación de artículos de la cesta de compras

Page 59: Getting Started With ASP.net Español

3. Obtener la cesta de la compra Identificación

Página 77

4. Recuperación de artículos de la cesta de la compra

5. Sumando la cantidad de todos los artículos cesta de la compra

6. Actualización de los datos de carrito de la compra

Una página del carrito de la compra (ShoppingCart.aspx) y la clase carrito de compras se utilizarán

conjuntamente paraacceso cesta de la compra de datos. La página del carrito de compras

mostrará todos los elementos que el usuario se suma a la carrito de compras. Además de la página

de carrito de la compra y de clase, vamos a crear una página (AddToCart.aspx)para agregar

productos a la cesta de la compra. También añadir código al ProductList.aspx página yel

ProductDetails.aspx página que proporcionará un enlace a la AddToCart.aspx página, por lo que el

usuariopueden añadir productos a la cesta de la compra.

El siguiente diagrama muestra el proceso básico que se produce cuando el usuario añade un

producto a la carrito de compras.

Cuando el usuario hace clic en el Añadir al Carro enlace ya sea en el ProductList.aspx página o

elProductDetails.aspx página, la aplicación se navegue a la AddToCart.aspx página y

despuésautomáticamente a la ShoppingCart.aspx página. El AddToCart.aspx página añadirá el

selectoproducto al carrito de la compra llamando a un método en la clase ShoppingCart. los

ShoppingCart.aspx página mostrará los productos que se han añadido a la cesta de la compra.

Creación de la cesta de la compra Clase

La clase ShoppingCart se añadirá a una carpeta independiente en la aplicación de modo que no lo

hará ser una clara distinción entre la carpeta (Modelos) modelo, la (carpeta raíz) páginas y la lógica

(Carpeta Logic).

1. En el Explorador de soluciones, haga clic en el WingtipToys proyecto y seleccione Agregar ->

Nuevo Carpeta. Nombre de la nueva carpeta de Lógica.

2. Haga clic en la lógica de la carpeta y luego seleccione Agregar -> Nuevo elemento.

Page 60: Getting Started With ASP.net Español

3. Agregue un nuevo archivo de clase nombrados ShoppingCartActions.cs.

4. Reemplace el código predeterminado con el siguiente código:

Página 78

Page 61: Getting Started With ASP.net Español
Page 62: Getting Started With ASP.net Español

Página 79

El método permite AddToCart productos individuales a ser incluidos en la cesta de la compra

basada sobre la identificación del producto. El producto se añade al carro, o si el carro ya contiene

un artículo para ese producto, la cantidad se incrementa.

El método GetCartId devuelve el ID de la compra para el usuario. El carro ID se utiliza para realizar

un seguimiento de los artículos que un usuario tiene en su carrito de compras. Si el usuario no

tiene un carro ID existente, un carro nuevo ID se crea para ellos. Si el usuario está firmado como

usuario registrado, el carro ID está ajustado a sus usuarios nombre. Sin embargo, si el usuario no

está firmado en el carrito ID se establece en un valor único (GUID). Un GUID asegura que sólo se

crea una cesta para cada usuario, basado en sesiones.

El método GetCartItems devuelve una lista de cesta de la compra artículos para el usuario. Más

adelante en este tutorial, verá la unión que el modelo se utiliza para mostrar los elementos de la

compra en el carrito de la compra utilizando el método de GetCartItems.

Creación de la funcionalidad Add-To-Cesta

Como se mencionó anteriormente, se creará una página de procesamiento llamado

AddToCart.aspx que se utilizarápara agregar nuevos productos a la cesta de la compra del usuario.

Esta página llamará al AddToCart método en la clase ShoppingCart que acaba de crear. El

AddToCart.aspx página esperaráque un identificador de producto se pasa a la misma. Este ID de

producto será utilizado cuando se llama al AddToCart método en la clase ShoppingCart.

Nota

Se le modificando el código subyacente (AddToCart.aspx.cs) de esta página, no la página de la

interfaz de usuario (AddToCart.aspx).

Page 63: Getting Started With ASP.net Español

Para crear la funcionalidad Add-To-compra:

Página 80

1. En el Explorador de soluciones, haga clic en el WingtipToys proyecto, haga clic en Añadir ->

Nuevo elemento.El Agregar nuevo elemento se muestra el cuadro de diálogo.

2. Añadir una página nueva norma (Formulario Web) para la aplicación llamada AddToCart.aspx.

3. En el Explorador de soluciones, haga clic en el AddToCart.aspx página y luego haga clic en Ver

código. los AddToCart.aspx.cs archivo de código subyacente se abre en el editor.

4. Reemplace el código existente en los AddToCart.aspx.cs código subyacente con lo siguiente:

Page 64: Getting Started With ASP.net Español

Página 81

Cuando el AddToCart.aspx se carga la página, el identificador de producto se recupera de la

cadena de consulta.A continuación, se crea una instancia de la clase carrito de la compra y se

utiliza para llamar al método AddToCart que agregó anteriormente en este tutorial. El método

AddToCart, contenida en el ShoppingCartActions.cs archivo, incluye la lógica para añadir el

producto seleccionado a la cesta de la comprao incrementar la cantidad de producto del producto

seleccionado. Si el producto no se ha añadido a la cesta de la compra, el producto se agrega a la

tabla CartItem de la base de datos. Si el producto ya se ha añadido a la cesta de la compra y el

usuario añade un elemento adicional de la misma producto, la cantidad de producto se

incrementa en la tabla CartItem. Por último, la página redirecciona de nuevo a la

ShoppingCart.aspx página que va a añadir en el paso siguiente, en el que el usuario ve unlista

actualizada de los artículos en el carro.

Como se mencionó anteriormente, un ID de usuario se utiliza para identificar los productos que se

asocian con una usuario específico. Este ID se agrega a una fila de la tabla CartItem cada vez que el

usuario agrega una producto al carrito de compras.

Page 65: Getting Started With ASP.net Español

Creación de la interfaz de usuario de Compras

El ShoppingCart.aspx página mostrará los productos que el usuario ha agregado a su carritola

compra. También ofrecerá la posibilidad de añadir, quitar y actualizar los elementos en el carrito

de compras.

1. En el Explorador de soluciones, haga clic con WingtipToys, haga clic en Añadir -> Nuevo

elemento.El Agregar nuevo elemento se muestra el cuadro de diálogo.

2. Añadir una nueva página (formulario web) que incluye una página principal seleccionando

formulario Web utilizando Página Maestra. Nombre de la página nueva ShoppingCart.aspx.

3. Seleccione Site.Master para adjuntar la página maestra a la recién creada .aspx página.

4. En el ShoppingCart.aspx página, vuelva a colocar el marcado existente con el siguiente marcado:

Página 82

Page 66: Getting Started With ASP.net Español

El ShoppingCart.aspx página incluye un GridView control denominado CartList. Esta usos de

controlmodelo de unión para enlazar los datos cesta de la compra de la base de datos al GridView

control. Cuando se establece la propiedad ItemType del GridView control, la expresión de artículos

de enlace de datos esdisponibles en el marcado del control y el control se vuelve inflexible de

tipos. Como se mencionó anteriormente en esta serie de tutoriales, puede seleccionar los detalles

del objeto Item mediante IntelliSense. A configurar un control de datos para utilizar el modelo

vinculante para seleccionar datos, se establece la SelectMethod propiedad del control. En el

marcado anteriormente, se establece la SelectMethod utilizar el Método GetShoppingCartItems

que devuelve una lista de objetos CartItem. El GridView datoscontrol de llama al método en el

momento adecuado en el ciclo de vida de la página y automáticamente se une los datos devueltos.

Todavía hay que añadir el método GetShoppingCartItems.

Recuperando las Compras Artículos

A continuación, se agrega código a los ShoppingCart.aspx.cs código subyacente para recuperar y

poblar elCompras de interfaz de usuario.

1. En el Explorador de soluciones, haga clic en el ShoppingCart.aspx página y luego haga clic

en Ver código.El ShoppingCart.aspx.cs archivo de código subyacente se abre en el editor.

Reemplace el código existente con el siguiente:

Página 83

Como se mencionó anteriormente, el control de datos GridView llama al método

GetShoppingCartItems en el momento adecuado en el ciclo de vida de la página y

automáticamente une los datos devueltos. los Método GetShoppingCartItems crea una instancia

del objeto ShoppingCartActions. A continuación, el código utiliza esa instancia para devolver los

artículos en el carro llamando a los GetCartItems método.

Page 67: Getting Started With ASP.net Español

Adición de productos a la cesta de compra

Cuando sea el ProductList.aspx o ProductDetails.aspx se muestra la página, el usuario serácapaz de

añadir el producto al carrito de la compra mediante un enlace. Al hacer clic en el enlace, el

aplicación navega a la página de procesamiento llamado AddToCart.aspx. El AddToCart.aspx

páginallamará al método AddToCart en la clase ShoppingCart que agregó anteriormente en este

tutorial.

Ahora, vamos a añadir una Añadir a la cesta de enlace tanto a la ProductList.aspx página y

elProductDetails.aspx página. Este enlace se incluirá el ID de producto que se recupera de la base

de datos.

1. En el Explorador de soluciones, encontrar y abrir la página denominada ProductList.aspx.

2. Agregue el marcado resaltado en amarillo a la ProductList.aspx página para que todo elpágina

aparece de la siguiente manera:

Página 84

Page 68: Getting Started With ASP.net Español
Page 69: Getting Started With ASP.net Español

Página 85

Prueba de la cesta de la compra Ejecutar la aplicación para ver cómo agregar productos a la cesta

de la compra.

1. Presione F5 para ejecutar la aplicación.Después de que el proyecto recrea la base de datos, el

navegador se abrirá y mostrará el Default.aspx página.

2. Seleccione Coches en el menú de la categoría de navegación.El ProductList.aspx se muestra la

página que muestra sólo los productos incluidos en los "Cars"

Página 86

categoría.

Page 70: Getting Started With ASP.net Español

Página 87

3. Haga clic en el Añadir a la Cesta enlace al lado del primer producto de la lista (el coche

convertible).El ShoppingCart.aspx se muestra la página, mostrando la selección en su carrito de

compras.

Page 71: Getting Started With ASP.net Español

4. Ver productos adicionales mediante la selección de aviones en el menú Navegación de la

categoría.

5. Haga clic en el Añadir a la Cesta enlace al lado del primer producto de la lista.El

ShoppingCart.aspx página se muestra con el artículo adicional.

6. Cierre el explorador.

Cálculo y visualización de la Orden total

Además de agregar productos a la cesta de la compra, agregará un método getTotal a la Clase

ShoppingCart y mostrar la cantidad total del pedido en la página de carrito de compras.

1. En el Explorador de soluciones, abra el ShoppingCartActions.cs archivo en la lógica de la carpeta.

2. Agregue el siguiente método getTotal resaltado en amarillo a la clase ShoppingCart, para que la

clase aparece como sigue:

Página 88

Page 72: Getting Started With ASP.net Español
Page 73: Getting Started With ASP.net Español

Página 89

En primer lugar, el método getTotal obtiene el ID de la cesta de la compra para el usuario. A

continuación, el método obtiene el carro totales multiplicando el precio del producto por la

cantidad de producto para cada producto enumerado en el carro.

Nota

El código anterior utiliza el tipo anulable "int?". Tipos anulables pueden representar todos los

valores de una tipo subyacente, y también como un valor nulo. Para obtener más información,

consulte Uso de tipos anulables.

Modificar el carrito de compras Pantalla

A continuación vamos a modificar el código para el ShoppingCart.aspx página a llamar al método

getTotal ymostrar ese total en el ShoppingCart.aspx página cuando se carga la página.

1. En el Explorador de soluciones, haga clic en el ShoppingCart.aspx página y seleccione Ver

código.

2. En el ShoppingCart.aspx.cs archivos, actualizar el manejador Page_Load añadiendo lo

siguientecódigo resaltado en amarillo:

Page 74: Getting Started With ASP.net Español

Página 90

Cuando los ShoppingCart.aspx página se carga, se carga el objeto carrito de la compra y luego

recupera lacarrito de la compra total de llamando al método getTotal de la clase ShoppingCart. Si

el cesta de la compra está vacía, se mostrará un mensaje en este sentido.

Prueba de la cesta de la compra total

Ejecutar la aplicación ahora para ver cómo no sólo puede agregar un producto a la cesta de la

compra, pero se puede ver el carrito de la compra total de.

1. Presione F5 para ejecutar la aplicación.El navegador se abrirá y mostrará el Default.aspx página.

2. Seleccione Coches en el menú de la categoría de navegación.

Página 91

Page 75: Getting Started With ASP.net Español

3. Haga clic en el Añadir al carro enlace al lado del primer producto.El ShoppingCart.aspx página se

muestra con el total del pedido.

4. Agregue algunos otros productos (por ejemplo, un avión) a la compra.

Página 92

5. El ShoppingCart.aspx página se muestra con un total de actualización para todos los

productosque ha añadido.

6. Detener la aplicación se ejecuta al cerrar la ventana del navegador.

Adición Actualizar y Pedido Botones a la cesta de compra

Para permitir a los usuarios modificar la cesta de la compra, se le agrega una actualización de

botón y un Pedido botón a la página del carrito de compras. El Pedido botón no se utiliza hasta

más adelante en este tutorial serie.

En el Explorador de soluciones, abra el ShoppingCart.aspx página en la raíz de la webproyecto de

aplicación.

Para agregar la actualización de botón y el Pedido botón a la ShoppingCart.aspx página, añadirel

marcado resaltado en amarillo a la marca existente, como se muestra en el siguiente código:

Page 76: Getting Started With ASP.net Español

Página 93

Page 77: Getting Started With ASP.net Español

Cuando el usuario hace clic en la actualización de botón, el controlador de eventos

UpdateBtn_Click se llamará.Este controlador de eventos llama al código que va a añadir en el paso

siguiente.

A continuación, puede actualizar el código contenido en las ShoppingCart.aspx.cs presentar para

recorrer lacesta productos y llaman a los métodos RemoveItem y UpdateItem.

1. En el Explorador de soluciones, abra el ShoppingCart.aspx.cs archivo en la raíz de la

webproyecto de aplicación.

2. Agregue el siguiente código de secciones resaltadas en amarillo a la ShoppingCart.aspx.cs

archivo:

Página 94

Page 78: Getting Started With ASP.net Español
Page 79: Getting Started With ASP.net Español

Página 95

Cuando el usuario hace clic en la actualización de botón en la ShoppingCart.aspx página, los

UpdateCartItemsse llama al método. El método UpdateCartItems obtiene los valores actualizados

para cada elemento de la carrito de compras. Entonces, el método llama a la

UpdateShoppingCartDatabase UpdateCartItems método (agregado y se explica en el paso

siguiente) para agregar o quitar elementos de la carrito de compras. Una vez que la base de datos

ha sido actualizada para reflejar los cambios a la cesta de la compra, el GridView control se

actualiza en la página de cesta de la compra llamando al método DataBindpara el GridView.

Además, el importe total del pedido en la página de carro de compras se ha actualizado para

reflejarla lista actualizada de artículos.

Actualización y supresión de Compras Artículos

Por ShoppingCart.aspx página, usted puede ver los controles se han añadido para la actualización

delcantidad de un artículo y la eliminación de un elemento. Ahora, agregue el código que hará que

estos controles trabajo.

1. En el Explorador de soluciones, abra el ShoppingCartActions.cs archivo en la lógica de la

carpeta. Agregue el siguiente código resaltado en amarillo a la ShoppingCartActions.cs

archivo de clase:

Page 80: Getting Started With ASP.net Español

Página 96

Page 81: Getting Started With ASP.net Español
Page 82: Getting Started With ASP.net Español

Página 97

Page 83: Getting Started With ASP.net Español
Page 84: Getting Started With ASP.net Español

Página 98

El método UpdateShoppingCartDatabase, llamado desde el método UpdateCartItems en el

ShoppingCart.aspx.cs página, contiene la lógica para actualizar o eliminar elementos de lacarrito

de compras. El método itera UpdateShoppingCartDatabase a través de todas las filas dentro de la

lista carrito de compras. Si un elemento de carrito de la compra ha sido marcado para ser

eliminado, o el la cantidad es menor que uno, el método RemoveItem se llama. De lo contrario, el

elemento del carro de compras se comprueba si hay actualizaciones cuando se llama al método

UpdateItem. Después de la partida del carro de compras ha sido eliminado o actualizado, se

guardan los cambios de base de datos.

La estructura ShoppingCartUpdates se utiliza para contener todos los elementos de cesta de la

compra. los Método UpdateShoppingCartDatabase utiliza la estructura ShoppingCartUpdates a

determinar si alguno de los artículos necesitan ser actualizados o eliminados.

En el siguiente tutorial, utilizará el método EmptyCart despejar el carrito de la compra después

productos de compra. Pero por ahora, que va a utilizar el método GetCount que acaba de agregar

a los ShoppingCartActions.cs archivo para determinar cuántos elementos están en el carrito de

compras.

Adición de un contador de Compras

Page 85: Getting Started With ASP.net Español

Para permitir al usuario ver el número total de elementos en el carro de compras, usted agregará

un contador a la Site.Master página. Este contador también actuará como un vínculo a la cesta de

la compra.

Página 100

1. En el Explorador de soluciones, abra el Site.Master página.

Modificar el marcado mediante la adición de la cesta de la compra enlace contador como se

muestra en amarillo a la sección de navegación por lo que aparece como sigue:

A continuación, actualizar el código subyacente del Site.Master.cs archivo añadiendo el código

resaltado enamarilla de la siguiente manera:

Page 86: Getting Started With ASP.net Español

Página 101

Page 87: Getting Started With ASP.net Español

Página 102

Page 88: Getting Started With ASP.net Español

Antes de que la página se representa como HTML, el evento Page_PreRender se eleva. en el

Manejador Page_PreRender, el recuento total de la cesta de la compra se determina mediante

una llamada al Método GetCount. El valor devuelto se añade a la gama de cartCount incluido en el

markup del Site.Master página. El <span> etiquetas permite a los elementos internos que ser

adecuadamenterendido. Cuando se visualiza cualquier página del sitio, se mostrará el carrito de

compras totales. los usuario también puede hacer clic en el carrito de la compra total de para

mostrar la cesta de la compra.

Prueba de la Cesta de la compra Completado

Puede ejecutar la aplicación ahora para ver cómo se pueden agregar, eliminar y actualizar los

elementos de la carrito de compras. La cesta de la compra total será reflejar el costo total de todos

los elementos en el carrito de compras.

1. Presione F5 para ejecutar la aplicación.El navegador se abre y muestra el Default.aspx página.

2. Seleccione Coches en el menú de la categoría de navegación.

3. Haga clic en el Añadir al carro enlace al lado del primer producto.El ShoppingCart.aspx página se

muestra con el total del pedido.

4. Seleccione Aviones en el menú de la categoría de navegación.

5. Haga clic en el Añadir al carro enlace al lado del primer producto.

6. Establezca la cantidad del primer elemento de la cesta de la compra a 3 y seleccione el Quitar

artículo cuadro del segundo elemento comprobar.

Página 103

6. Haga clic en la actualización de botón para actualizar la página del carrito de la compra y

mostrar el nuevo orden totales.

Page 89: Getting Started With ASP.net Español

Sumario

En este tutorial, se ha creado un carrito de la compra para la muestra Wingtip Toys Web Forms

solicitud. Durante este tutorial que ha usado Entity Framework Código primer lugar, anotaciones

de datos, inflexible de tipos controles de datos, y el modelo de unión.

La cesta de la compra admite la adición, eliminación y actualización de elementos que el usuario

ha seleccionado para la compra. Además de implementar la funcionalidad de carro de compras,

usted ha aprendido a pantalla cesta de la compra productos en un GridView de control y calcular

el total del pedido.

Información Adición

Sesión de Estado de ASP.NET

Página 104

Pedido y pago con PayPal

Esta serie tutorial te enseñará los fundamentos de la construcción de una aplicación Web Forms

ASP.NET utilizando ASP.NET 4.5 y Microsoft Visual Studio Express 2013 para Web. Un estudio de

2013 del proyecto de Visual con fuente de C # código está disponible para acompañar esta serie de

tutoriales.

Este tutorial describe cómo modificar la aplicación de ejemplo Wingtip Toys incluir usuario

autorización, registro y pago a través de PayPal. Sólo los usuarios que han iniciado sesión tendrán

la autorización para la compra de productos. Built-in de usuario El ASP.NET 4.5 Web Forms de

plantilla de proyecto funcionalidad de registro ya incluye gran parte de lo que necesita. Va a

agregar a esta PayPal Express Checkout funcionalidad. En este tutorial se utilizará la prueba

desarrollador PayPal medio ambiente, por lo que no hay fondos reales será transferido. Al final del

tutorial, probar la aplicación seleccionando productos para añadir al carro de compras, haga clic

en el botón de pago, y la transferencia de datos al sitio web de pruebas de PayPal. En el sitio web

de pruebas de PayPal, se le confirme su información de envío y de pago y luego volver a la muestra

local Wingtip Toys aplicación para confirmar y completar la compra.

Hay varios procesadores de pagos de terceros experimentados que se especializan en las compras

en línea que escalabilidad dirección y la seguridad. Desarrolladores de ASP.NET deben considerar

las ventajas de la utilización de una tercera solución de pago fiesta antes de la implementación de

un centro comercial y comprar solución.

Nota

La aplicación de ejemplo Wingtip Toys fue diseñado para conceptos ASP.NET específica mostradas

y características disponibles para los desarrolladores web ASP.NET. Esta aplicación muestra no fue

optimizado para todos posibles circunstancias en cuanto a escalabilidad y seguridad.

Page 90: Getting Started With ASP.net Español

Lo que aprenderá:

Cómo restringir el acceso a determinadas páginas en una carpeta.

¿Cómo crear un carrito de compras conocido de un anónimo carrito de compras.

Cómo utilizar PayPal para comprar productos utilizando el entorno de pruebas de PayPal.

Cómo visualizar los detalles de PayPal en un DetailsView control.

¿Cómo actualizar la base de datos de la aplicación Wingtip Toys con datos obtenidos de PayPal.

Adición de Seguimiento de los pedidos

En este tutorial, vamos a crear dos nuevas clases de seguimiento de los datos de la orden de un

usuario ha creado. los clases hará un seguimiento de los datos relativos a la información de envío,

total de la compra y el pago confirmación.

Añadir la Orden y OrderDetail Clases Modelo

Página 105

A principios de esta serie de tutoriales, que definió el esquema de categorías, productos y carrito

de la compra artículos mediante la creación de la categoría, productos y clases CartItem en el

Modelos carpeta. Ahora añadirá dos nuevas clases para definir el esquema para el pedido de

productos y los detalles de la orden.

1. En el Modelos carpeta, añadir una nueva clase llamada Order.cs. El nuevo archivo de clase se muestra en el editor. 2. Reemplace el código predeterminado con lo siguiente:

Page 91: Getting Started With ASP.net Español

Página 106

3. Agregue un OrderDetail.cs clase al Modelos carpeta.

Page 92: Getting Started With ASP.net Español

4. Reemplace el código predeterminado con el siguiente código:

Las clases Orden y OrderDetail contienen el esquema para definir la información de la orden

utilizada para la compra y el envío.

Además, tendrá que actualizar la clase de contexto de base de datos que gestiona las clases de

entidad y que proporciona acceso a los datos a la base de datos. Para ello, se le agrega la Orden de

nueva creación y clases del modelo OrderDetail a ProductContext clase.

1. En el Explorador de soluciones, encontrar y abrir la ProductContext.cs archivo.

2. Agregue el código resaltado a la ProductContext.cs archivo como se muestra a continuación:

Página 107

Como se mencionó anteriormente en esta serie de tutoriales, el código en el ProductContext.cs

archivo añade elEspacio de nombres System.Data.Entity de modo que usted tiene acceso a toda la

funcionalidad principal de la Entity Framework. Esta funcionalidad incluye la capacidad de

consultar, insertar, actualizar y eliminar datos al trabajar con objetos inflexible de tipos. El código

anterior en la clase ProductContext agrega el acceso Entity Framework a las clases Orden y

OrderDetail recién añadidos.

Page 93: Getting Started With ASP.net Español

Adición Pedido acceso

La aplicación de ejemplo Wingtip Toys permite a los usuarios anónimos para revisar y añadir

productos a un carrito de compras. Sin embargo, cuando los usuarios anónimos optan por

comprar los productos que agregan a la cesta de la compra, se debe iniciar sesión en el sitio. Una

vez que han iniciado la sesión, pueden acceder a la páginas restringidas de la aplicación web que

manejan el proceso de compra y venta. Estas páginas restringidas están contenidos en el Pedido

de carpetas de la aplicación.

Añadir una carpeta Checkout y Páginas

Ahora creará el Pedido de carpetas y las páginas en los mismos que el cliente va a ver durante

elproceso de pago. Va a actualizar estas páginas más adelante en este tutorial.

Página 108

1. Haga clic en el nombre del proyecto (Wingtip Toys) en el Explorador de soluciones y

seleccione Agregar un nuevo Carpeta.

2. Nombre de la nueva carpeta Pedido.

Página 109

3. Haga clic en el Pedido de carpetas y seleccione Agregar -> Nuevo elemento.

Page 94: Getting Started With ASP.net Español

4. La Agregar nuevo elemento se muestra el cuadro de diálogo.

Página 110

5. Seleccione el Visual C # -> Web grupo de plantillas a la izquierda. Luego, desde el panel

central,seleccione Formulario Web mediante páginas maestras y el nombre CheckoutStart.aspx.

6. Al igual que antes, seleccione el Site.Master archivo como la página principal.

Page 95: Getting Started With ASP.net Español

7. Agregue las páginas adicionales siguientes al Pedido carpeta usando los mismos pasos

anteriores:

CheckoutReview.aspx

CheckoutComplete.aspx

CheckoutCancel.aspx

CheckoutError.aspx

Añadir un archivo Web.config

Mediante la adición de un nuevo Web.config archivo al Pedido carpeta, usted será capaz de

restringir el acceso a todos loslas páginas contenidas en la carpeta.

1. Haga clic en el Pedido carpeta y seleccione Agregar -> Nuevo elemento.El Agregar nuevo

elemento se muestra el cuadro de diálogo.

2. Seleccione el Visual C # -> Web grupo de plantillas a la izquierda. Luego, desde el panel

central,seleccione Archivo de configuración Web, acepte el nombre predeterminado de

Web.config, a continuación, seleccione Agregar.

3. Vuelva a colocar el contenido XML existente en el Web.config archivo con el siguiente:

Página 111

3. Guarde el archivo Web.config archivo.

El Web.config archivo especifica que todos los usuarios desconocidos de la aplicación web deben

ser negadosel acceso a las páginas contenidas en el Pedido carpeta. Sin embargo, si el usuario se

ha registrado unacuenta y se registra en, van a ser un usuario conocido y tendrán acceso a las

páginas de la Pedido carpeta.

Es importante señalar que la configuración de ASP.NET sigue una jerarquía, donde cada

Web.config archivoaplica los ajustes de configuración en la carpeta que está en y para todos los

directorios de los niños por debajo de ella.

Habilitación de inicios de sesión provenientes Otros sitios mediante

OAuth y OpenID

Page 96: Getting Started With ASP.net Español

ASP.NET Web Forms proporciona opciones mejoradas para la adhesión y la autenticación. Estas

mejoras incluyen los nuevos OAuth y OpenID proveedores. El uso de estos proveedores, que

puedenpermiten a los usuarios inician sesión en su sitio utilizando sus credenciales existentes de

Facebook, Twitter, Windows Live, y Google. Por ejemplo, para iniciar sesión con una cuenta de

Facebook, los usuarios sólo pueden elegir un Facebook opción, que les redirige a la página de

inicio de sesión de Facebook donde entran sus credenciales de usuario. A continuación, puede

asociar el inicio de sesión de Facebook con su cuenta en su sitio. Una relacionada mejora a la Web

Forms ASP.NET membresía (ASP.NET Identidad) cuenta es que los usuarios de puede asociar

múltiples conexiones (incluyendo nombres de usuario de los sitios de redes sociales) con una sola

cuenta en su sitio web.

Cuando se agrega un OAuth proveedor (Facebook, Twitter, o Windows Live) a su Web

ASP.NETFormas de aplicación, debe configurar el ID de aplicación (clave) de valor y un valor

secreto de la aplicación. Puede añadir estos valores al Startup.Auth.cs archivo en su web los

formularios de solicitud. Además, debe crear una aplicación en el sitio externo (Facebook, Twitter,

o Windows Live). Cuando tú crear la aplicación en el sitio web externo puede obtener las claves de

aplicación que usted necesita en para invocar la función de inicio de sesión para esos sitios.

Nota

Aplicaciones de Windows Live sólo aceptan una URL en vivo para un sitio web de trabajo, por lo

que no pueden utilizar un URL del sitio web local para inicios de sesión de prueba.

Para los sitios que utilizan un OpenID proveedor (Google), usted no tiene que crear una aplicación

en elsitio externo.

1. En el Explorador de soluciones, encontrar y abrir la App_Start carpeta.

2. Abra el archivo con nombre Startup.Auth.cs.

3. Elimine el comentario de una sola línea de código resaltado en amarillo para que Google OpenID

cuentas como sigue:

Página 112

Page 97: Getting Started With ASP.net Español

4. Guarde el Startup.Auth.cs archivo.

Al ejecutar la aplicación de ejemplo Wingtip Toys, usted tendrá la opción de acceder a su Cuenta

de Google y sus asociados Juguetes Wingtip cuenta con la cuenta de Google.

Modificación Entrar Funcionalidad

Como se mencionó anteriormente en esta serie de tutoriales, gran parte de la funcionalidad de

registro de usuario tiene ha incluido en la plantilla de formularios Web ASP.NET por defecto.

Ahora vas a modificar el valor por defecto Login.aspx y register.aspx páginas para llamar el método

MigrateCart. El MigrateCartmétodo asocia un nuevo usuario conectado con un anónimo carrito de

compras. Al asociar el usuario y la cesta de la compra, la aplicación de ejemplo Wingtip Toys será

capaz de mantener la carrito de la compra del usuario entre las visitas.

1. En el Explorador de soluciones, encontrar y abrir la Cuenta carpeta.

Página 113

Page 98: Getting Started With ASP.net Español

3. Modificar la página de código subyacente llamado Login.aspx.cs incluir el código resaltado

enamarillo, de modo que aparece como sigue:

3. Guarde el Login.aspx.cs archivo.

Página 114

Por ahora, puede ignorar la advertencia de que no existe una definición para el método

MigrateCart. Se le agrega un poco más adelante en este tutorial.

Page 99: Getting Started With ASP.net Español

El Login.aspx.cs archivo de código subyacente soporta un método de inicio de sesión. Al

inspeccionar la página Login.aspx,verás que esta página incluye una "Entrar" botón que cuando clic

desencadena el manejador Iniciar Sesión en el código subyacente.

Cuando el método de inicio de sesión en el Login.aspx.cs se llama, una nueva instancia de la cesta

de la comprase crea llamado usersShoppingCart. Se recupera el ID de la cesta de la compra (un

GUID) y establece en la variable cartId. A continuación, se llama al método MigrateCart, pasando

tanto el cartId y el nombre del usuario conectado a este método. Cuando el carro de compras se

migra, la GUID utiliza para identificar el anonimato carro de compras se reemplaza con el nombre

de usuario.

Además de modificar la Login.aspx.cs archivo de código subyacente para migrar el carro de

compras cuandoel usuario inicia sesión, también debe modificar las Register.aspx.cs archivo de

código subyacente para migrar loscesta de la compra cuando el usuario crea una nueva cuenta y

registros en.

1. En la Cuenta de carpeta, abra el archivo de código subyacente llamado Register.aspx.cs.

2. Modificar el archivo de código subyacente al incluir el código en amarillo, para que aparezca la

siguiente manera:

Página 115

Page 100: Getting Started With ASP.net Español

3. Guarde el Register.aspx.cs archivo. Una vez más, ignorar la advertencia sobre el

MigrateCart método.

Observe que el código que ha utilizado en el controlador de eventos CreateUser_Click es muy

similar a la código que ha utilizado en el método de inicio de sesión. Cuando el usuario se

registra o registros en el sitio, una llamada a la Se hará método MigrateCart.

Migración de la cesta de la compra

Ahora que tiene el proceso de inicio de sesión y registro actualizado, puede agregar el código

para migrar el método MigrateCart compras el carro.

1. En el Explorador de soluciones, encontrar la lógica de la carpeta y abrir el

ShoppingCartActions.cs archivo de clase.

2. Agregue el código resaltado en amarillo para el código existente en los

ShoppingCartActions.cs archivo, por lo que el código en el ShoppingCartActions.cs archivo

aparece de la siguiente manera:

Página 116

Page 101: Getting Started With ASP.net Español

Página 117

Page 102: Getting Started With ASP.net Español

Página 118

Page 103: Getting Started With ASP.net Español

Página 119

Page 104: Getting Started With ASP.net Español

El método utiliza la cartId MigrateCart existente para encontrar el carrito de la compra del usuario.

Siguiente, el código recorre todos los cesta productos comerciales y sustituye a la propiedad CartId

(como especificado por el esquema CartItem) con el nombre de usuario que ha iniciado sesión en.

Actualización de la conexión con la base

Si usted está siguiendo este tutorial utilizando la prebuilt Wingtip Toys aplicación de ejemplo,

deberecrear la base de datos de miembros defecto. Al modificar la cadena de conexión

predeterminada, el base de datos de miembros, se creará la próxima vez que la aplicación se

ejecuta.

1. Abra el archivo Web.config archivo en la raíz del proyecto.

2. Actualización de la cadena de conexión predeterminado para que aparezca la siguiente manera:

Integración de PayPal

PayPal es una plataforma de facturación basado en web que acepta pagos con los comerciantes en

línea. Este tutorial siguiente explica cómo integrar la funcionalidad de Pago exprés de PayPal en su

aplicación. Pago exprés permite a sus clientes utilizar PayPal para pagar los artículos que han

añadido a su carrito de compras.

Crear cuentas de prueba PaylPal

Para utilizar el entorno de pruebas de PayPal, debe crear y verificar una cuenta de prueba

desarrollador. usted utilizará la cuenta de prueba de desarrolladores para crear una cuenta de

prueba comprador y una cuenta de prueba vendedor. los credenciales de la cuenta de prueba para

desarrolladores también permitirán la aplicación de ejemplo Wingtip Toys acceso el entorno de

pruebas de PayPal.

1. En un navegador, vaya al sitio de pruebas desarrollador de PayPal:

https://developer.paypal.com

2. Si usted no tiene una cuenta PayPal desarrollador, crear una nueva cuenta haciendo clic

Registrarse y siguiendo la señal por las escaleras. Si usted tiene una cuenta PayPal desarrollador

Page 105: Getting Started With ASP.net Español

existente, inicie sesión haciendo clic en Iniciar sesión. Usted necesitará su cuenta de desarrollador

de PayPal para probar los juguetes Wingtipaplicación de ejemplo más adelante en este tutorial.

Página 120

3. Si sólo se haya registrado su cuenta de desarrollador de PayPal, usted puede necesitar para

verificar tu cuenta de desarrollador de PayPal con PayPal. Usted puede verificar su cuenta

siguiendo el medidas que PayPal envía a su cuenta de correo electrónico. Una vez que haya

verificado su PayPal cuenta de desarrollador, ingrese de nuevo en el lugar de la prueba

desarrollador PayPal.

4. Una vez que haya iniciado sesión en el sitio de desarrolladores de PayPal con su cuenta de

desarrollador de PayPal es necesario crear una cuenta de prueba de comprador de PayPal, si usted

no tiene ya uno. Para crear una cuenta de prueba comprador, en el sitio de PayPal, haga clic en la

Aplicaciones ficha y haga clic en Sandbox cuentas.La cuentas de prueba Sandbox se muestra la

página.

Nota

El sitio de desarrollador PayPal ya proporciona una cuenta de prueba comerciante.

5. En la página de cuentas de prueba Sandbox, haga clic en Crear cuenta.

6. En el Crear cuenta de prueba página de escoger un correo electrónico cuenta de prueba

comprador y la contraseña de tu elección.

Nota

Usted necesitará las direcciones de correo electrónico del comprador y contraseña para probar la

muestra Wingtip Toys

Page 106: Getting Started With ASP.net Español

Página 121

aplicación al final de este tutorial.

Página 122

Page 107: Getting Started With ASP.net Español

Página 123

7. Crear la cuenta de prueba comprador haciendo clic en el Crear Cuenta botón.La cuentas de

prueba Sandbox se muestra la página.

8. En la cuentas de prueba Sandbox página, haga clic en el facilitador cuenta de correo

electrónico.Perfil y notificación aparecen opciones.

9. Seleccione el Perfil opción, a continuación, haga clic en las credenciales de la API para ver sus

credenciales de API para elcuenta de prueba comerciante.

10. Copia de las credenciales de la API de prueba para el bloc de notas.

Usted necesitará sus credenciales de API prueba clásica mostrados (nombre de usuario,

contraseña y firma) para hacer llamadas a la API de la aplicación de ejemplo Wingtip Toys al

entorno de pruebas de PayPal. Va a agregar las credenciales en el siguiente paso.

Agregar clase PayPal y Credenciales API

Va a colocar la mayor parte del código de PayPal en una sola clase. Esta clase contiene los

métodos utilizado para comunicarse con PayPal. Además, se le añada sus credenciales de PayPal a

esta clase.

1. En la aplicación de ejemplo Wingtip Toys dentro de Visual Studio, haga clic en la lógica de

carpetasa continuación, seleccione Agregar -> Nuevo elemento.El Agregar nuevo elemento se

muestra el cuadro de diálogo.

2. En Visual C # de la instalada panel de la izquierda, seleccione Código.

Page 108: Getting Started With ASP.net Español

3. En el panel central, seleccione la clase. Nombre esta nueva clase PayPalFunctions.cs.

Página 124

4. Haga clic en Agregar.El nuevo archivo de clase se muestra en el editor.

5. . Reemplace el código predeterminado con el siguiente código:

Página 125

Page 109: Getting Started With ASP.net Español

Página 126

Page 110: Getting Started With ASP.net Español

Página 127

Page 111: Getting Started With ASP.net Español

Página 128

Page 112: Getting Started With ASP.net Español

Página 129

Page 113: Getting Started With ASP.net Español

6. Agregue las credenciales de API Merchant (nombre de usuario, contraseña y firma) que

mostrado anteriormente en este tutorial para que pueda realizar llamadas de función a la

prueba PayPal ambiente.

Nota

En esta aplicación de ejemplo que son simplemente agregando credenciales en un archivo de C #

(.cs). Sin embargo, en una solución implementada, usted debe considerar encriptar sus

credenciales en un archivo de configuración.

La clase NVPAPICaller contiene la mayoría de la funcionalidad PayPal. El código de la clase

proporciona los métodos necesarios para hacer una compra de prueba desde el entorno de

pruebas de PayPal. los siguientes tres funciones de PayPal se utilizan para hacer las compras:

Función 1. SetExpressCheckout

Función 2. GetExpressCheckoutDetails

3. Función DoExpressCheckoutPayment

El método ShortcutExpressCheckout recoge la información de compra de prueba y productos

detalles de la cesta de la compra y llama a la función SetExpressCheckout PayPal. los Método

GetCheckoutDetails confirma detalles de la compra y llama al GetExpressCheckoutDetails función

de PayPal antes de hacer la compra de prueba. los Método DoCheckoutPayment completa la

compra de prueba desde el entorno de pruebas por llamando a la función

DoExpressCheckoutPayment PayPal. El código restante apoya la Métodos y procesos de PayPal,

como cadenas de codificación, decodificación de cadenas, matrices de procesamiento, y la

determinación de las credenciales.

Nota

Página 130

Page 114: Getting Started With ASP.net Español

PayPal le permite incluir detalles de la compra opcionales basados en Especificación de la API de

PayPal . Por extender el código de la aplicación de ejemplo Wingtip Toys, puede incluir datos de

localización, descripciones de productos, impuestos, un número de servicio al cliente, así como

muchos otros campos opcionales.

Tenga en cuenta que el retorno y se anulan las URL que se especifican en el

ShortcutExpressCheckout método de utilizar un número de puerto.

Cuando Visual Web Developer se ejecuta un proyecto web, un puerto aleatorio se utiliza para el

servidor web. Como mostrado anteriormente, el número de puerto es 1234. Cuando se ejecuta la

aplicación, probablemente veremos un diferente número de puerto. Su número de puerto se debe

establecer en el código anterior, para que pueda éxito ejecutar la aplicación de ejemplo Wingtip

Toys al final de este tutorial. En la siguiente sección de este tutorial explica cómo recuperar el

número de puerto host local y actualizar la clase de PayPal.

Actualizar el número de puerto localhost en la Clase de PayPal

La aplicación de ejemplo Wingtip Toys compra productos, vaya hasta el lugar de la prueba PayPal y

regresar a su instancia local de la aplicación de ejemplo Wingtip Toys. Para tener PayPal retorno a

la URL correcta, es necesario especificar el número de puerto del local corriendo aplicación de la

muestra en el código de PayPal antes mencionado.

1. Haga clic en el nombre del proyecto (WingtipToys) en el Explorador de soluciones y seleccione

Propiedades.

2. En la columna de la izquierda, seleccione la Web ficha.

3. Recuperar el número de puerto del Proyecto Url caja.

4. Actualice el ReturnURL y CancelURL en la clase de PayPal (NVPAPICaller) en el

PayPalFunctions.cs archivo que se utilizará el número de puerto de la aplicación web:

Ahora el código que agregó coincidirá con el puerto previsto para la aplicación Web local. PayPal

podrá volver a la URL correcta en el equipo local.

Agregar el botón de PayPal Checkout

Ahora que las funciones primarias de PayPal se han añadido a la aplicación de ejemplo, se puede

empezar a añadir el marcado y el código necesario para llamar a estas funciones. En primer lugar,

debe agregar el botón de pago que el usuario verá en la página de carrito de compras.

1. Abra el archivo ShoppingCart.aspx.

Page 115: Getting Started With ASP.net Español

2. Desplácese hasta el final del archivo y encontrar el <! - Pedido de marcador de posición ->

comentar.

Página 131

3. Vuelva a colocar el comentario con un control ImageButton de modo que el margen de

beneficio se sustituye por el de la siguiente manera:

4. En el ShoppingCart.aspx.cs archivo, después de que el controlador de eventos

UpdateBtn_Click cerca del finaldel archivo, agregue el controlador de eventos

CheckOutBtn_Click:

5. También en el ShoppingCart.aspx.cs archivo, agregue una referencia a la CheckoutBtn, por

lo que elnuevo botón de imagen se hace referencia a los siguientes:

6. Guarde los cambios tanto en el ShoppingCart.aspx archivo y el ShoppingCart.aspx.cs archivo.

7. En el menú, seleccione Depurar -> Construir WingtipToys.El proyecto será reconstruido con el

recién añadido ImageButton control.

Page 116: Getting Started With ASP.net Español

Enviar Información de compra a PayPal Cuando el usuario hace clic en el Pedido botón en la página

del carrito de la compra (ShoppingCart.aspx),van a empezar el proceso de compra. El código

siguiente llama a la primera función de PayPal necesaria para productos de la compra.

Página 132

1. En el Pedido carpeta, abra el archivo de código subyacente llamado

CheckoutStart.aspx.cs.Asegúrese de abrir el archivo de código subyacente.

2. Reemplace el código existente con el siguiente:

Cuando el usuario de la aplicación hace clic en el Pedido botón en la página del carro de compras,

lanavegador navegue a la CheckoutStart.aspx página. Cuando los CheckoutStart.aspx página se

carga,se llama al método ShortcutExpressCheckout. En este punto, el usuario se transfiere a la

Lugar de la prueba web de PayPal. En el sitio de PayPal, el usuario introduce sus credenciales de

PayPal, revisa la detalles de la compra, acepta el acuerdo de PayPal y devuelve a la muestra

Wingtip Toys aplicación en la que el método ShortcutExpressCheckout completa. Cuando el

ShortcutExpressCheckout método es completa, se redirigir al usuario a la CheckoutReview.aspx

página especificada en el método ShortcutExpressCheckout. Esto permite al usuario revisar los

detalles de la orden desde dentro de la aplicación de ejemplo Wingtip Toys.

Page 117: Getting Started With ASP.net Español

Revise Detalles de pedidos

Página 133

Después de regresar de PayPal, la CheckoutReview.aspx página de la muestra Wingtip

Toysaplicación muestra los detalles de la orden. Esta página permite al usuario revisar los detalles

de la orden antes de adquirir los productos. El CheckoutReview.aspx página debe ser creado de la

siguiente manera:

1. En el Pedido carpeta, abra la página denominada CheckoutReview.aspx.

2. Vuelva a colocar el marcado actual por el siguiente:

Page 118: Getting Started With ASP.net Español

Página 134

4. Abra la página de código subyacente nombrados CheckoutReview.aspx.cs y reemplazar el

existentecódigo con lo siguiente:

Page 119: Getting Started With ASP.net Español

Página 135

Page 120: Getting Started With ASP.net Español

Página 136

Page 121: Getting Started With ASP.net Español

El DetailsView control se utiliza para mostrar los detalles de la orden que han sido devueltos

porPayPal. Además, el código anterior guarda los detalles de la orden a la base de datos de

Wingtip Toys como Objeto OrderDetail. Cuando el usuario hace clic en el Encargar botón, se les

redirigea la CheckoutComplete.aspx página.

Consejo

Observe que el <ItemStyle> etiqueta se utiliza para cambiar el estilo de los elementos dentro de la

DetailsView control. Al ver la página en la vista Diseño, seleccione el DetailsView control,y

seleccionando la etiqueta inteligente (el icono de flecha en la parte superior derecha del control),

usted será capaz dever las tareas DetailsView.

Al seleccionar Editar Campos, el Campos aparecerá el cuadro de diálogo. En este cuadro de diálogo

usted puede fácilmentecontrolar las propiedades visuales, como ItemStyle, del DetailsView

control.

Página 137

Page 122: Getting Started With ASP.net Español

Compra completa

CheckoutComplete.aspx página hace que la compra de PayPal. Como se mencionó anteriormente,

el usuariodebe hacer clic en el Encargar botón antes de la aplicación se navegue a

laCheckoutComplete.aspx página.

1. En el Pedido carpeta, abra la página denominada CheckoutComplete.aspx.

2. Vuelva a colocar el marcado actual por el siguiente:

Página 138

3. Abra la página de código subyacente nombrados CheckoutComplete.aspx.cs y reemplazar

el existentecódigo con lo siguiente:

Page 123: Getting Started With ASP.net Español

Página 139

Page 124: Getting Started With ASP.net Español

Cuando el CheckoutComplete.aspx se carga la página, se llama al método DoCheckoutPayment.

Como se mencionó anteriormente, el método DoCheckoutPayment completa la compra de la

Entorno de pruebas de PayPal. Una vez que PayPal ha completado la compra de la orden, el

CheckoutComplete.aspx página muestra un ID de transacción de pago al comprador.

Mango Cancelar Compra

Si el usuario decide cancelar la compra, que se dirigirán a la CheckoutCancel.aspx páginadonde

verán que su pedido ha sido cancelado.

1. Abra la página denominada CheckoutCancel.aspx en el Pedido carpeta.

2. Vuelva a colocar el marcado actual por el siguiente:

Manejar Errores de compra

Página 140

Errores durante el proceso de compra serán manejados por el CheckoutError.aspx página. El

código-detrás del CheckoutStart.aspx página, el CheckoutReview.aspx página y

Page 125: Getting Started With ASP.net Español

elCheckoutComplete.aspx página cada redirigir a la CheckoutError.aspx página si se produce un

error.

1. Abra la página denominada CheckoutError.aspx en el Pedido carpeta.

2. Vuelva a colocar el marcado actual por el siguiente:

El CheckoutError.aspx página se visualiza con los detalles del error cuando se produce un error

durante laproceso de pago.

Ejecutar la aplicación

Ejecutar la aplicación para ver cómo adquirir productos.

1. Abra un navegador Web y vaya a https://developer.paypal.com.

2. Entrar con tu cuenta de PayPal desarrollador que creó anteriormente en este tutorial. Para

desarrollador caja de arena de PayPal, es necesario estar conectado a

https://developer.paypal.com para probar salida express. Esto sólo se aplica a PayPal pruebas de

caja de arena, no entorno real de PayPal.

3. En Visual Studio, presione F5 para ejecutar la aplicación de ejemplo Wingtip Toys.Después de la

base de datos reconstruye, el navegador se abrirá y mostrará el Default.aspx página.

4. Agregue tres productos diferentes a la cesta de la compra seleccionando la categoría de

producto, tales como "Cars" y luego hacer clic en Añadir a la cesta al lado de cada producto.La

cesta de la compra se mostrará el producto que ha seleccionado.

Página 141

5. Haga clic en el PayPal botón a la caja.

Page 126: Getting Started With ASP.net Español

6. El registro de salida, será necesario que usted tiene una cuenta de usuario para la muestra

Wingtip Toys solicitud.

7. Haga clic en el Google enlace de la derecha de la página para iniciar sesión con una existente

gmail.com correo electrónico cuenta. Si usted no tiene una cuenta de gmail.com, puede crear una

para propósitos de prueba en

Página 142

www.gmail.com . También puede utilizar una cuenta local estándar haciendo clic en "Registrarse".

Page 127: Getting Started With ASP.net Español

Página 143

8. Iniciar sesión con tu cuenta de gmail y contraseña.

Page 128: Getting Started With ASP.net Español

Página 144

9. Haga clic en el Conectarse botón para registrar su cuenta de gmail con su muestra Juguetes

WingtipNombre de usuario de la aplicación.

Page 129: Getting Started With ASP.net Español

Página 145

10. En el sitio de prueba de PayPal, añadir su comprador dirección de correo electrónico y la

contraseña que creóanteriormente en este tutorial, a continuación, en la sesión botón.

Page 130: Getting Started With ASP.net Español

Página 146

11. De acuerdo a la política de PayPal y haga clic en el Aceptar y continuar botón.Tenga en cuenta

que esta página sólo se muestra la primera vez que utilice esta cuenta de PayPal.

Page 131: Getting Started With ASP.net Español

Página 147

12. Revise la información del pedido en la página de opinión entorno de pruebas PayPal y clic

Continuar.

Page 132: Getting Started With ASP.net Español

Página 148

13. En la CheckoutReview.aspx página, comprobar la cantidad de la orden y ver el generado

direccion de envio. A continuación, haga clic en el Encargar botón.

Page 133: Getting Started With ASP.net Español

Página 149

14. El CheckoutComplete.aspx página se muestra con un ID de transacción de pago.

Page 134: Getting Started With ASP.net Español

Revisar la base de datos

Mediante la revisión de los datos actualizados en la base de datos de aplicaciones de muestra

Wingtip Toys después de correr la aplicación, se puede ver que la aplicación registra con éxito la

compra de la productos.

Usted puede inspeccionar los datos contenidos en el Wingtiptoys.mdf archivo de base de datos

utilizando la base de datos Explorador de la ventana (el Explorador de servidores ventana en Visual

Studio) como lo hizo anteriormente en este tutorial serie.

1. Cierre la ventana del navegador si aún está abierta.

2. En Visual Studio, seleccione el Mostrar todos los archivos de iconos en la parte superior del

Explorador de soluciones para permitira ampliar el App_Data carpeta.

3. Ampliar el App_Data carpeta.Es posible que deba seleccionar el Mostrar todos los archivos

icono de la carpeta.

4. Haga clic en la Wingtiptoys.mdf archivo de base de datos y seleccione Abrir.Explorador de

servidores se muestra.

5. Ampliar la Tablas carpeta.

6. Haga clic en la Órdenes tabla y seleccione Mostrar tabla de datos.El Órdenes se muestra la

tabla.

Página 150

7. Revisar el PaymentTransactionID columna para confirmar transacciones exitosas.

Page 135: Getting Started With ASP.net Español

8. Cierre la Órdenes ventana de la tabla.

9. En el Explorador de servidores, haga clic en el OrderDetails tabla y seleccione Mostrar tabla de

datos.

10. Revise los valores OrderId y nombre de usuario en el OrderDetails mesa. Tenga en cuenta que

éstos valores coinciden con los valores OrderId y Nombre de usuario incluido en el Órdenes mesa.

11. Cierre la OrderDetails ventana de la tabla.

12. Haga clic en el archivo de base de datos Wingtip Toys (Wingtiptoys.mdf) y seleccione Cerrar

Conexión.

13. Si usted no ve el Explorador de soluciones ventana, haga clic en el Explorador de soluciones en

la parte inferiordel Explorador de servidores ventana para mostrar el Explorador de soluciones de

nuevo.

Sumario

En este tutorial ha agregado orden y detalle de la orden esquemas para rastrear la compra de

productos. usted también integrada la funcionalidad de PayPal en la aplicación de ejemplo Wingtip

Toys.

Recursos adicionales

Introducción a la configuración ASP.NET

Crear un 5 aplicación ASP.NET MVC con Facebook y Google OAuth2 y OpenID Sign-on (C #)

Descargo de responsabilidad

Este tutorial contiene código de ejemplo. Se proporciona Tal código de ejemplo "tal cual" sin

garantía de ningún amable. En consecuencia, Microsoft no garantiza la exactitud, integridad o

calidad de la muestra código. Usted se compromete a utilizar el código de ejemplo a su propio

riesgo. En ningún caso Microsoft será responsable ante usted de ninguna manera por cualquier

código de ejemplo, el contenido, incluyendo pero no limitado a, cualquier error u omisiones en

Page 136: Getting Started With ASP.net Español

cualquier código de ejemplo, el contenido, o cualquier pérdida o daño de cualquier tipo incurridos

como resultado de la utilización de cualquier código de ejemplo. Se le notifica y no acepta

indemnizar, guardar y mantener a Microsoft indemne de y contra cualquier y toda pérdida,

reclamos de pérdida, lesión o daño

Página 151

de cualquier tipo, incluyendo, sin limitación, las ocasionadas por o que surjan a partir de material

que publicar, transmitir, usar o confiar en incluyendo, pero no limitado a, las opiniones expresadas

en el mismo.

Página 152

Composición y Administración

Esta serie tutorial te enseñará los fundamentos de la construcción de una aplicación Web Forms

ASP.NET utilizando ASP.NET 4.5 y Microsoft Visual Studio Express 2013 para Web. Un estudio de

2013 del proyecto de Visual con fuente de C # código está disponible para acompañar esta serie de

tutoriales.

Este tutorial muestra cómo actualizar la aplicación de ejemplo Wingtip Toys para añadir un función

de administrador y el uso ASP.NET Identidad. También muestra cómo implementar un página de

administración desde el cual el administrador puede agregar y eliminar los productos de la sitio

web.

ASP.NET Identidad es el sistema de afiliación utilizado para construir aplicaciones web ASP.NET y

es disponible en ASP.NET 4.5. ASP.NET Identidad se utiliza en el estudio de 2013 de formularios

Web Forms proyecto de Visual plantilla, así como las plantillas para ASP.NET MVC, API Web

ASP.NET, y ASP.NET Individual Página de la aplicación. También puede instalar específicamente el

sistema ASP.NET Identidad usando NuGet cuando usted comienza con una aplicación Web vacía.

Sin embargo, en esta serie de tutoriales utiliza la Web Formas plantilla proyecto, que incluye el

sistema de ASP.NET identidad. ASP.NET Identidad hacefácil de integrar datos de perfil específicos

del usuario con los datos de aplicación. Además, ASP.NET Identidad permite a elegir el modelo de

persistencia de los perfiles de usuario de la aplicación. Puede almacenar los datos en una base de

datos SQL Server u otro almacén de datos, incluyendo NoSQL almacenes de datos como

WindowsTablas Azure Storage.

Este tutorial se basa en el tutorial anterior titulado "Pedido y pago con PayPal" en el Wingtip Toys

serie de tutoriales.

Lo que aprenderá:

Cómo utilizar código para agregar una función de administrador y un usuario de la aplicación. Cómo restringir el acceso a la carpeta de la administración y la página. ¿Cómo proporcionar la navegación para el rol de administrador. ¿Cómo utilizar el modelo vinculante para llenar un DropDownList de control con el producto categorías. ¿Cómo subir un archivo a la aplicación web mediante el FileUpload control.

Page 137: Getting Started With ASP.net Español

Cómo utilizar los controles de validación para implementar la validación de entrada. ¿Cómo agregar y eliminar los productos de la aplicación.

Estas características se incluyen en el tutorial:

ASP.NET Identidad Configuración y Autorización La unión Modelo Validación Discreto Página 153

ASP.NET Web Forms proporciona capacidades de afiliación. Mediante el uso de la plantilla por

defecto, usted tiene funcionalidad integrada de miembros que puede utilizar de inmediato cuando

la aplicación se ejecuta. Esta tutorial le muestra cómo utilizar ASP.NET Identidad para agregar una

función de administrador y asignar un usuario para ese papel. Usted aprenderá cómo restringir el

acceso a la carpeta de administración. Vamos a añadir una página a la carpeta de administración

que permite a un administrador agregar y quitar productos, y para vista previa de un producto

después de que se ha añadido.

Adición de un administrador

El uso de ASP.NET Identidad, puede agregar una función de administrador y asignar un usuario a la

función mediante código.

1. En el Explorador de soluciones, haga clic en la lógica de la carpeta y crear una nueva clase.

2. Nombre de la nueva clase RoleActions.cs.

3. Modifique el código para que aparezca la siguiente manera:

4. En el Explorador de soluciones, abra el Global.asax.cs archivo.

5. Abrir y modificar el Global.asax.cs expediente añadido el código resaltado en amarillo para

queaparezca como sigue:

Page 138: Getting Started With ASP.net Español

Página 154

6. Tenga en cuenta que está subrayado createAdmin en rojo. Haga doble clic en la createAdmin

código. Se subrayó la letra "c" en el método de resaltado.

7. A continuación, coloque el cursor sobre la letra "c" para mostrar la interfaz de usuario que le

permite generar un método stub para el método createAdmin.

8. Haga clic en el opcionado titulado: Generar Stub para 'createAdmin' en

"WingtipToys.Logic.RoleActions '

9. Abra la RoleActions.cs archivo de la Lógica carpeta.El método createAdmin se ha añadido al

archivo de clase.

10. Modificar el RoleActions.cs archivo quitando el NotImplementedeException yañadiendo el

código resaltado en amarillo, de modo que aparezca como sigue:

Page 139: Getting Started With ASP.net Español

Página 155

Page 140: Getting Started With ASP.net Español

El código anterior funciona estableciendo primero un contexto de base de datos para la base de

datos de miembros. La base de datos de miembros también se almacena como un .mdf archivo en

el App_Data carpeta. Usted podrá para ver esta base de datos una vez que el primer usuario ha

iniciado sesión en esta aplicación web.

Nota

Si desea almacenar los datos de afiliación, junto con los datos del producto, se puede considerar el

uso de el mismo DbContext que utilizó para almacenar los datos de los productos en el código de

seguridad.

El interior de palabras clave es un modificador de acceso para este tipo (como clases) y miembros

de tipo (por ejemplo,métodos o propiedades). Tipos internos o miembros sólo son accesibles

dentro de los archivos contenidos en la misma asamblea (.dll archivo). Cuando usted construye su

aplicación, un archivo de ensamblado (.dll) se creaque contiene el código que se ejecuta cuando se

ejecuta la aplicación.

Página 156

Page 141: Getting Started With ASP.net Español

Un objeto RoleStore, que proporciona la administración de funciones, está creado en base a la

base de datos contexto.

Nota

Observe que cuando se crea el objeto RoleStore utiliza un tipo IdentityRole Genérico. Esta significa

que el RoleStore sólo se le permite contener objetos IdentityRole. También mediante el uso de Los

medicamentos genéricos, los recursos en la memoria se manejan mejor.

A continuación, el objeto roleManager, se crea basándose en el objeto RoleStore que acaba

creado. el objeto roleManager expone API relacionada papel que se puede utilizar para

automáticamente guardar los cambios en el RoleStore. El roleManager sólo se le permite contener

IdentityRole objetos porque el código utiliza el <IdentityRole> Tipo Genérico.

Usted llama al método RoleExists para determinar si el rol de "Administrador" está presente en el

base de datos de miembros. Si no es así, se crea el papel.

Creación del objeto UserManager parece ser más complicado que el roleManager control, sin

embargo, es casi la misma. Sólo se codifica en una línea en lugar de varios. Aquí el parámetro que

está de paso se instanciando como un nuevo objeto contenido en el paréntesis.

A continuación, crea el usuario "Admin" mediante la creación de un nuevo objeto ApplicationUser.

Entonces, si usted crear con éxito el usuario, se agrega el usuario a la nueva función.

Nota

El manejo de errores se actualizará durante el tutorial "ASP.NET Tratamiento de errores" más

adelante en este serie de tutoriales.

La próxima vez que se inicia la aplicación, se agregará el usuario llamado "Admin" como el papel

llamado "Administrador" de la aplicación. Más adelante en este tutorial, iniciar sesión como el

usuario "Admin" para mostrar las capacidades adicionales que se le añaden durante este tutorial.

Para obtener más información acerca de la API ASP.NET Identidad, consulte la

Microsoft.AspNet.Identity Espacio de nombres . Para obtener detalles adicionales sobre inicializar

el sistema ASP.NET Identidad, consulte la AspnetIdentitySample.

Restringir el acceso a la página de administración

La aplicación de ejemplo Wingtip Toys permite tanto a los usuarios anónimos y usuarios

registrados en para ver y comprar productos. Sin embargo, el administrador ha iniciado sesión en

el se puede acceder a una página restringida Para agregar y quitar productos.

Agregar una carpeta de Administración y Página

A continuación, se creará una carpeta con el nombre del administrador para el administrador de la

muestra Wingtip Toys solicitud.

1. Haga clic en el nombre del proyecto (Wingtip Toys) en el Explorador de soluciones y seleccione

Agregar ->Nueva carpeta.

Página 157

Page 142: Getting Started With ASP.net Español

2. Nombre de la nueva carpeta de administración.

3. Haga clic en el Administrador de carpetas y seleccione Agregar -> Nuevo elemento.El Agregar

nuevo elemento se muestra el cuadro de diálogo.

4. Seleccione el Visual C # -> Web grupo de plantillas a la izquierda. En la lista de medio,

seleccioneFormulario Web con páginas maestras, lo nombra AdminPage.aspx, a continuación,

seleccione Agregar.

5. Seleccione el Site.Master archivo como la página principal, y luego seleccione Aceptar.

Añadir un archivo Web.config

Al añadir un Web.config archivo a la administración de carpetas, puede restringir el acceso a la

página de contenido enla carpeta.

1. Haga clic en el Administrador de carpeta y seleccione Agregar -> Nuevo elemento.El Agregar

nuevo elemento se muestra el cuadro de diálogo.

2. En la lista de plantillas web de Visual C #, seleccione Archivo de configuración Web de laLista

media, acepte el nombre predeterminado de Web.config, a continuación, seleccione Agregar.

3. Vuelva a colocar el contenido XML existente en el Web.config archivo con el siguiente:

Guarde el archivo Web.config archivo. El Web.config archivo especifica que sólo los

administradores de la aplicaciónpuede acceder a la página de contenido en la administración de

carpetas.

Incluyendo administrador Navegación

Para habilitar el administrador para navegar a la sección de administración de la aplicación, debe

agregar un enlace a la Site.Master página. Sólo los usuarios que pertenecen a la función de

administrador seráncapaz de ver el Administrador de enlace y acceder a la sección de

administración.

1. En el Explorador de soluciones, encontrar y abrir la Site.Master página.

2. Para crear un enlace para los administradores, agregue el marcado resaltado en amarillo a la

siguiente desordenada lista <ul> elemento para que la lista aparece como sigue:

Page 143: Getting Started With ASP.net Español

Página 158

2. Abra la Site.Master.cs archivo. Haga la administración enlace visible sólo para el usuario

"admin" porañadiendo el código resaltado en amarillo al manejador Page_Load. El

Page_Load manejador aparecerá de la siguiente manera:

Cuando se carga la página, el código comprueba si el usuario ha iniciado sesión en cuenta el papel

de "Administrador". Si el usuario es un administrador, el elemento span que contiene el enlace a la

AdminPage.aspx página (y en consecuencia el enlace dentro del lapso) se hace visible.

Habilitación de Administración de Producto

Hasta el momento, se ha creado la función de administrador y ha añadido un usuario

administrador, un carpeta de administración, y una página de administración. Ha establecido los

derechos de acceso para el carpeta de la administración y en la página, y han añadido un enlace de

navegación para el administrador de la solicitud. A continuación, va a agregar marcadores para la

AdminPage.aspx página y código alAdminPage.aspx.cs archivo de código subyacente que permitirá

al administrador para añadir y eliminar productos.

1. En el Explorador de soluciones, abra el AdminPage.aspx archivo de la administración de

carpetas.

2. Vuelva a colocar el marcado actual por el siguiente:

Page 144: Getting Started With ASP.net Español

Página 159

Page 145: Getting Started With ASP.net Español

Página 160

3. A continuación, abra las AdminPage.aspx.cs archivo de código subyacente, haga clic en el

AdminPage.aspx y haciendo clic en Ver código.

Page 146: Getting Started With ASP.net Español

4. Reemplace el código existente en los AdminPage.aspx.cs archivo de código subyacente con el

siguientecódigo:

Página 161

Page 147: Getting Started With ASP.net Español

Página 162

Page 148: Getting Started With ASP.net Español

En el código que ha introducido para los AdminPage.aspx.cs archivo de código subyacente, una

clase llamadaAddProducts hace el trabajo real de la adición de productos a la base de datos. Esta

clase no existe sin embargo, por lo que va a crear ahora.

1. En el Explorador de soluciones, haga clic en la lógica de la carpeta y luego seleccione Agregar ->

Nuevo elemento.El Agregar nuevo elemento se muestra el cuadro de diálogo.

2. Seleccione el Visual C # -> Código grupo de plantillas a la izquierda. A continuación, seleccione la

clase de laLista de medio y el nombre AddProducts.cs.Se muestra el nuevo archivo de clase.

3. Reemplace el código existente con el siguiente:

El AdminPage.aspx página permite al administrador para añadir y eliminar productos. Cuando un

nuevo se añade el producto, los detalles sobre el producto se validan y luego entró en la base de

datos. El nuevo producto está inmediatamente disponible para todos los usuarios de la aplicación

web.

Validación Discreto

Página 163

Page 149: Getting Started With ASP.net Español

Los detalles de los productos que el usuario proporciona en la AdminPage.aspx página se validan

utilizandocontroles de validación (RequiredFieldValidator y RegularExpressionValidator). Estos

controles utilizan automáticamente la validación discreto. Validación discreto permite que el

validación de controles para el uso de JavaScript para la lógica de validación en el cliente, lo que

significa que la página hace no requiere un viaje al servidor para ser validado. De forma

predeterminada, la validación discreta se incluye en el Web.config archivo basado en el ajuste de

la configuración siguiente:

Expresiones regulares

El precio del producto en el AdminPage.aspx página se valida mediante

unRegularExpressionValidator control. Este control valida si el valor de la asociadacontrol de

entrada (el cuadro de texto "AddProductPrice") coincide con el patrón especificado por el

ordinario expresión. Una expresión regular es una notación de patrones que le permite encontrar

rápidamente y combinar patrones de caracteres específicos. El RegularExpressionValidator de

control incluye unpropiedad denominada ValidationExpression que contiene la expresión regular

utilizada para validar la entrada de precios, como se muestra a continuación:

Control de FileUpload

Además de los controles de entrada y validación, agregó el FileUpload control alAdminPage.aspx

página. Este control proporciona la capacidad de subir archivos. En este caso, usted espermitiendo

sólo archivos de imagen a cargar. En el archivo de código subyacente (AdminPage.aspx.cs), cuando

elAddProductButton se hace clic, el código comprueba la propiedad HasFile del FileUpload control.

Si el control tiene un archivo y si se permite que el tipo de archivo (basado en la extensión de

archivo), la imagen se guarda en el archivo de la carpeta y el archivo / Pulgares carpeta de la

aplicación.

Encuadernación Modelo

A principios de esta serie de tutoriales que utilizó modelo de unión para rellenar un ListView

control, unFormsView control, un GridView control y un DetailView control. En este tutorial, se

utilizamodelo de unión para llenar un DropDownList de control con una lista de categorías de

productos.

El margen de beneficio que ha agregado a la AdminPage.aspx archivo contiene un DropDownList

control de llamadaDropDownAddCategory:

Page 150: Getting Started With ASP.net Español

Utiliza modelo de unión a poblar esta DropDownList estableciendo el atributo ItemType yel

atributo SelectMethod. El atributo ItemType especifica que se utiliza el

Página 164

Tipo WingtipToys.Models.Category al rellenar el control. Ha definido este tipo en el comienzo de

esta serie de tutoriales mediante la creación de la clase Categoría (mostrado a continuación). los

Clase Categoría se encuentra en la Modelos carpeta dentro de la Category.cs archivo.

El atributo SelectMethod del DropDownList control especifica que utilice laMétodo GetCategories

(que se muestra a continuación) que se incluye en el archivo de código subyacente

(AdminPage.aspx.cs).

Este método especifica que una interfaz IQueryable se utiliza para evaluar una consulta en una

Tipo de categoría. El valor devuelto se utiliza para rellenar el DropDownList en el marcado

delpágina (AdminPage.aspx).

El texto que se muestra para cada elemento de la lista se especifica estableciendo el atributo

DataTextField. El atributo DataTextField utiliza el CategoryName de la clase Categoría (ver imagen

superior) para visualizar cada categoría en el DropDownList control. El valor real que se pasa

cuando unaelemento está seleccionado en el DropDownList de control se basa en el atributo

DataValueField. los Atributo DataValueField se establece en el IdCategoría como definir en la clase

Categoría (que se muestra arriba).

¿Cómo la aplicación funcionará

Cuando el administrador desplaza a la página para la primera vez, el DropDownAddCategory

DropDownList de control se rellena como se describe anteriormente. El

DropDownRemoveProductDropDownList control también se rellena con productos utilizando el

mismo enfoque. los administrador selecciona el tipo de categoría y añade los detalles del producto

Page 151: Getting Started With ASP.net Español

(nombre, descripción, precio,y archivos de imagen). Cuando el administrador hace clic en el

Agregar Producto botón, elControlador de eventos AddProductButton_Click se dispara. El

AddProductButton_Click controlador de eventos se encuentra en el archivo de código subyacente

(AdminPage.aspx.cs) comprueba el archivo de imagen para hacerasegurarse de que coincide con

los tipos de archivo permitidos (.gif, .png, .jpeg o .jpg). A continuación, el archivo de imagen se

guarda en uncarpeta de la aplicación de ejemplo Wingtip Toys. A continuación, el nuevo producto

se añade a la base de datos.

Página 165

Para llevar a cabo la adición de un nuevo producto, se crea una nueva instancia de la clase

AddProducts y productos mencionados. La clase AddProducts tiene un método denominado

AddProduct, y los productos objeto llama a este método para agregar productos a la base de

datos.

Si el código agrega con éxito el nuevo producto a la base de datos, la página se vuelve a cargar con

el consulta valor de cadena ProductAction = añadir.

Cuando la página se recarga, la cadena de consulta se incluye en el URL. Por volver a cargar la

página, administrador puede ver inmediatamente los cambios en los DropDownList controles en

elAdminPage.aspx página. Además, mediante la inclusión de la cadena de consulta con la URL, la

página puede mostrar unmensaje de éxito al administrador.

Cuando los AdminPage.aspx cargar la página, el evento Page_Load se llama.

El controlador de eventos Page_Load comprueba el valor de cadena de consulta y determina si se

debe mostrar una mensaje de éxito.

Ejecutar la aplicación

Page 152: Getting Started With ASP.net Español

Puede ejecutar la aplicación ahora para ver cómo se pueden agregar, eliminar y actualizar los

elementos de la carrito de compras. La cesta de la compra total será reflejar el costo total de todos

los elementos en el carrito de compras.

1. En el Explorador de soluciones, presione F5 para ejecutar la aplicación de ejemplo Wingtip

Toys.El navegador se abre y muestra el Default.aspx página.

Página 166

3. Haga clic en el Iniciar sesión enlace en la parte superior de la página.

El Login.aspx se muestra la página.

4. Utilice el siguiente nombre de usuario y la contraseña del administrador:

Nombre de usuario: Admin

Contraseña: Pa $$ palabra

Página 167

Page 153: Getting Started With ASP.net Español

4. Haga clic en el Conectarse botón en la parte inferior de la página.

Página 168

5. En la parte superior de la página siguiente, seleccione la administración enlace para

navegar a la AdminPage.aspx página.

6. 6. Para probar la validación de entrada, haga clic en el Agregar Producto botón sin la

adición de cualquier producto detalles.

Page 154: Getting Started With ASP.net Español

Página 169

Observe que se muestran los mensajes de campo requeridas.

Página 170

7. Agregue los detalles de un nuevo producto y, a continuación, haga clic en el Agregar Producto

botón.

Page 155: Getting Started With ASP.net Español

Página 171

8. Seleccione los productos desde el menú de navegación superior para ver el nuevo producto que

ha añadido.

Page 156: Getting Started With ASP.net Español

9. Haga clic en el Administrador enlace para volver a la página de administración.

10. En el Remove Producto sección de la página, seleccione el nuevo producto que ha añadido en

elDropDownListBox.

Página 172

11. Haga clic en el Eliminar el botón para quitar el nuevo producto de la aplicación.

Page 157: Getting Started With ASP.net Español

12. Seleccione los productos desde el menú de navegación superior para confirmar que el

producto ha sido eliminado.

13. Haga clic en cerrar la sesión de existir el modo de administración.Observe que el panel de

navegación superior ya no muestra el Administrador elemento de menú.

Sumario

En este tutorial, que ha añadido una función de administrador y un usuario administrativo,

limitado acceso a la carpeta de la administración y en la página, y provisto de navegación para el

rol de administrador. usted Modelo usado vinculante para llenar un DropDownList de control con

datos. Ha implementado elFileUpload control controles y validación. También, usted ha aprendido

a agregar y quitarlos productos procedentes de una base de datos. En el siguiente tutorial,

aprenderás cómo implementar el enrutamiento de ASP.NET.

Recursos adicionales

Web.config - Elemento autorización

ASP.NET Identidad

Página 173

Enrutamiento URL

Esta serie tutorial te enseñará los fundamentos de la construcción de una aplicación Web Forms

ASP.NET utilizando ASP.NET 4.5 y Microsoft Visual Studio Express 2013 para Web. Un estudio de

2013 del proyecto de Visual con fuente de C # código está disponible para acompañar esta serie de

tutoriales.

En este tutorial, modificará la aplicación de ejemplo Wingtip Toys personalizar enrutamiento URL.

Routing permite su aplicación web para utilizar las URL que son amigables, más fácil de recordar, y

mejor apoyado por los motores de búsqueda. Este tutorial se basa en la afiliación tutorial anterior

" y Administración "y forma parte de la serie de tutoriales Wingtip Toys.

Lo que aprenderá:

Cómo registrarse rutas para una aplicación Web Forms de ASP.NET.

¿Cómo añadir rutas a una página web.

¿Cómo seleccionar los datos en una base de datos para apoyar rutas.

Descripción general del enrutamiento ASP.NET

Enrutamiento de URL le permite configurar una aplicación para aceptar la solicitud URL que no se

asignan a archivos físicos. Un URL de solicitud es simplemente el URL que un usuario introduce en

el navegador para encontrar una página en su página web. Utiliza enrutamiento para definir las

Page 158: Getting Started With ASP.net Español

direcciones URL que son semánticamente significativa para los usuarios y que puede ayudar con la

optimización de motores de búsqueda (SEO).

Por defecto, la plantilla de formularios Web incluye URLs ASP.NET friendly . Gran parte de la

enrutamiento básico el trabajo se llevará a cabo mediante el uso de URLs. Sin embargo, en este

tutorial agregarácapacidades de enrutamiento personalizados.

Antes de personalizar el enrutamiento URL, la aplicación de ejemplo Wingtip Toys puede enlazar a

un producto utilizando la siguiente URL:

http: // localhost: 1234 / ProductDetails.aspx productID = 2

Mediante la personalización de enrutamiento URL, la aplicación de ejemplo Wingtip Toys vinculará

al mismo producto utilizando una más fácil de leer URL:

http: // localhost: 1234 / Producto / Convertible% 20Car

Rutas

Una ruta es un patrón de URL que se asigna a un controlador. El controlador puede ser un archivo

físico, tal como un archivo .aspx en un Web Forms. Un controlador también puede ser una clase

que procesa la petición. Para definir una ruta, se crea una instancia de la clase de ruta

especificando la URL patrón, el controlador y, opcionalmente, un nombre para la ruta.

Página 174

Se agrega la ruta a la aplicación mediante la adición del objeto Ruta a la propiedad rutas estáticas

de la clase RouteTable. La propiedad Rutas es un objeto RouteCollection que almacena toda las

rutas para la aplicación.

Patrones de URL

Un patrón de URL puede contener valores literales y marcadores de posición variables (referido

como URL parámetros). Los literales y marcadores de posición se encuentran en los segmentos de

la URL que son delimitado por el carácter de barra inclinada (/).

Cuando se hace una petición a la aplicación web, la URL se analiza en segmentos y marcadores de

posición, y los valores de las variables se proporcionan al controlador de solicitudes. Este proceso

es similar a la forma en que los datos en una cadena de consulta se analiza y se pasan al

controlador de solicitudes. En ambos casos, información variable se incluye en el URL y pasa al

controlador en forma de clave-valor pares. Para cadenas de consulta, tanto las claves y los valores

están en la URL. Para las rutas, las claves son la nombres de marcador de posición definidas en el

patrón de URL y sólo los valores están en la URL.

En un patrón de URL, se definen los marcadores de posición encerrándolos entre llaves ({y}).

Puedes definir más de un marcador de posición en un segmento, pero los marcadores de posición

deben estar separados por una valor literal. Por ejemplo, {idioma} - {país} / {acción} es un patrón

de ruta válida. Sin embargo, el lenguaje {} {país} / {acción} no es un patrón válido, porque no hay

literal valor o delimitador entre los marcadores de posición. Por lo tanto, el enrutamiento no

Page 159: Getting Started With ASP.net Español

puede determinar dónde separar el valor del marcador de posición de la lengua a partir del valor

para el marcador de posición país.

Mapeo y Rutas Registro

Antes de que pueda incluir rutas a las páginas de la aplicación de ejemplo Wingtip Toys, debe

registrar las rutas cuando se inicia la aplicación. Para registrar las rutas, modificará la Controlador

de eventos Application_Start.

1. En el Explorador de soluciones de Visual Studio, encontrar y abrir la Global.asax.cs archivo.

2. Agregue el código resaltado en amarillo a la Global.asax.cs archivo de la siguiente manera:

Página 175

Page 160: Getting Started With ASP.net Español

Cuando se inicia la aplicación de ejemplo Wingtip Toys, llama al evento Application_Start

manejador. Al final de este controlador de eventos, se llama al método RegisterCustomRoutes. los

Método RegisterCustomRoutes agrega cada ruta llamando al método MapPageRoute de el objeto

RouteCollection. Las rutas se definen utilizando un nombre de ruta, una ruta de URL y un URL

físico.

El primer parámetro ("ProductsByCategoryRoute") es el nombre de la ruta. Se utiliza para llamar a

la ruta cuando es necesario. El segundo parámetro ("Categoría / {categoryName}") define el

amigable URL de sustitución que puede ser dinámico basado en el código. Se utiliza esta ruta

cuando esté poblar un control de datos con enlaces que se genera en base a los datos. Una ruta se

muestra como de la siguiente manera:

El segundo parámetro de la ruta incluye un valor dinámico especificado por llaves ({}). En esto

caso, el categoryName es una variable que se utiliza para determinar la ruta de encaminamiento

adecuada.

Optativo

Puede que le resulte más fácil manejar su código moviendo los RegisterCustomRoutes método a

una clase separada. En la lógica de carpetas, crear una clase RouteActions separada. Movida

Página 176

el método RegisterCustomRoutes encima de las Global.asax.cs archivo en el nuevoClase

RoutesActions. Utilice la clase RoleActions y el método createAdmin como ejemplo de cómo

llamar al método RegisterCustomRoutes del Global.asax.cs archivo.

También puede haber notado la RegisterRoutes método de llamada con el objeto RouteConfig al

comienzo del controlador de eventos Application_Start. Esta llamada se realiza para implementar

enrutamiento predeterminado. Fue incluido como código por defecto al crear la aplicación

utilizando Visual Web Studio Forms plantilla.

Recuperación y Uso de Datos Ruta

Como se mencionó anteriormente, las rutas pueden ser definidos. El código que agregó a la

Application_Start controlador de eventos en el Global.asax.cs archivo de carga las rutas definibles.

Configuración de Rutas

Rutas requieren que usted agregue código adicional. En este tutorial, utilizará el modelo de unión

para recuperar un objeto RouteValueDictionary que se utiliza cuando se generan las rutas

utilizando datos de una control de datos. El objeto RouteValueDictionary contendrá una lista de

nombres de productos que pertenecer a una categoría específica de productos. Se crea un enlace

para cada producto en base a los datos y la ruta.

Page 161: Getting Started With ASP.net Español

Habilitar rutas para Categorías y Productos

A continuación, podrás actualizar la aplicación para utilizar la ProductsByCategoryRoute para

determinar la ruta correcta para incluir para cada enlace categoría de producto. También debes

actualizar el ProductList.aspx página para incluir un enlace encaminado para cada producto. Los

enlaces se mostrarán como antes el cambio, sin embargo los enlaces usará ahora enrutamiento

URL.

1. En el Explorador de soluciones, abra el Site.Master página si no está ya abierto.

2. Actualizar el ListView control denominado "categoryList" con los cambios resaltados enamarillo,

por lo que el margen de beneficio aparece como sigue:

3. En el Explorador de soluciones, abra el ProductList.aspx página.

Página 177

4. Actualice el elemento ItemTemplate del ProductList.aspx página con las

actualizacionesresaltado en amarillo, por lo que el margen de beneficio aparece como

sigue:

Page 162: Getting Started With ASP.net Español

5. Abra el código subyacente de ProductList.aspx.cs y añadir el espacio de nombres siguiente

comoresaltado en amarillo:

6. Vuelva a colocar el método GetProducts de los de código subyacente (ProductList.aspx.cs)

con elsiguiente código:

Página 178

Page 163: Getting Started With ASP.net Español

Añadir Código de Detalle del producto

Ahora, actualice los de código subyacente (ProductDetails.aspx.cs) para el ProductDetails.aspx

página a utilizardatos de la ruta. Observe que el nuevo método obtenerProducto también acepta

un valor de cadena de consulta para la caso en el que el usuario tiene un vínculo marcado que

utiliza la no amigable URL mayor, no enrutado.

1. Reemplazar el método obtenerProducto de los de código subyacente

(ProductDetails.aspx.cs) con elsiguiente código:

Ejecutar la aplicación

Puede ejecutar la aplicación ahora para ver las rutas actualizadas.

1. Presione F5 para ejecutar la aplicación de ejemplo Wingtip Toys.El navegador se abre y muestra

el Default.aspx página.

2. Haga clic en el Productos enlace en la parte superior de la página.Todos los productos que se

muestran en la ProductList.aspx página. La dirección URL siguiente (usando sunúmero de puerto)

se muestra para el navegador:

http: // localhost: 1234 / Lista del producto

Página 179

Page 164: Getting Started With ASP.net Español

3. A continuación, haga clic en el Coches enlace de categoría en la parte superior de la

página.Sólo los coches se muestran en la ProductList.aspx página. La dirección URL

siguiente (utilizando el puertonúmero) se muestra para el navegador:

http: // localhost: 1234 / Categoría / Coches

4. Haga clic en el enlace que contiene el nombre del primer coche que aparece en la página

("coche convertible")para mostrar los detalles del producto. La dirección URL siguiente

(usando su número de puerto) se muestra para el navegador:

http: // localhost: 1234 / Producto / Convertible% 20Car

5. A continuación, introduzca la siguiente URL no enrutado (usando su número de puerto) en

el navegador: http: // localhost: 1234 / ProductDetails.aspx productID = 2 El código aún

reconoce una dirección URL que incluye una cadena de consulta, para el caso donde un

usuario tiene un vínculo marcado.

Sumario

En este tutorial, que ha añadido rutas para las categorías y productos. Usted ha aprendido cómo

rutas puede ser integrado con los controles de datos que utilizan la unión modelo. En el siguiente

tutorial, poner en práctica el manejo de errores global.

Recursos adicionales

URL ASP.NET friendly

Página 180

Tratamiento de errores ASP.NET

Esta serie tutorial te enseñará los fundamentos de la construcción de una aplicación Web Forms

ASP.NET utilizando ASP.NET 4.5 y Microsoft Visual Studio Express 2013 para Web. Un estudio de

2013 del proyecto de Visual con fuente de C # código está disponible para acompañar esta serie de

tutoriales.

En este tutorial, modificará la aplicación de ejemplo Wingtip Toys para incluir el tratamiento de

errores y el registro de errores. Manejo de errores permitirá la aplicación para manejar con gracia

y errores mensajes de error pantalla en consecuencia. Registro de errores le permitirá encontrar y

corregir los errores que tienen ocurrió. Este tutorial se basa en el tutorial anterior "URL de

enrutamiento" y es parte de la punta del ala Serie de tutoriales Juguetes.

Lo que aprenderá:

¿Cómo añadir gestión de errores global para la configuración de la aplicación.

¿Cómo agregar el control de errores a nivel de aplicación, de página y códigos.

Cómo ingrese errores para su posterior revisión.

¿Cómo mostrar mensajes de error que no comprometan la seguridad.

Cómo implementar módulos de registro de error y manipuladores (ELMAH) el registro de errores.

Información general

Page 165: Getting Started With ASP.net Español

Aplicaciones ASP.NET deben ser capaces de manejar los errores que se producen durante la

ejecución de manera coherente forma. ASP.NET utiliza el Common Language Runtime (CLR), que

proporciona una forma de notificar aplicaciones de errores de una manera uniforme. Cuando se

produce un error, se produce una excepción. Un excepción es cualquier error, condición o

comportamiento inesperado que un encuentros de aplicación.

En .NET Framework, una excepción es un objeto que hereda de la System.Exception clase. Una

excepción es lanzada desde un área de código donde se ha producido un problema. La excepción

se pasa a la pila de llamadas a un lugar donde la aplicación proporciona código para manejar la

excepción. Si la aplicación no maneja la excepción, el navegador se ve obligado a mostrar la

detalles de error.

Como práctica, controlar los errores en a nivel de código en try / catch / finally bloques dentro de

su código. Trate de colocar estos bloques de manera que el usuario puede corregir problemas en

el contexto en el cual Ocurren. Si el manejo del error bloques están demasiado lejos de donde se

produjo el error, se hace más difícil de proporcionar a los usuarios la información que necesitan

para solucionar el problema.

Excepción Clase

La clase de excepción es la clase base de la que heredan excepciones. La mayoría de los objetos de

excepción son las instancias de una clase derivada de la clase de excepción, tales como la clase

SystemException, la Clase IndexOutOfRangeException, o la clase ArgumentNullException. La

excepción

Página 181

clase tiene propiedades, como la propiedad StackTrace, la propiedad InnerException, y la

propiedad del mensaje, que proporcionan información específica acerca del error que se ha

producido.

Excepción Jerarquía de herencia

El tiempo de ejecución tiene un conjunto base de excepciones que se derivan de la clase

SystemException que el motor de ejecución emite cuando se encuentra una excepción. La mayoría

de las clases que heredan de la Clase de excepción, como la clase IndexOutOfRangeException y la

Clase ArgumentNullException, no implementan miembros adicionales. Por lo tanto, el más

información importante para una excepción se puede encontrar en la jerarquía de excepciones, las

nombre de la excepción, y la información contenida en la excepción.

Jerarquía Manejo de excepciones

En una aplicación Web Forms ASP.NET, las excepciones pueden ser manejados basados en un

manejo específico jerarquía. Una excepción puede ser manejado en los siguientes niveles:

Nivel 1. Aplicación

Nivel 2. Page

Nivel 3. Código

Page 166: Getting Started With ASP.net Español

Cuando una aplicación se encarga de excepciones, información adicional sobre la excepción de

que es heredado de la clase Exception menudo se puede recuperar y se muestra al usuario. en

adición de la aplicación, la página y el nivel de código, también puede controlar las excepciones a

nivel de módulo HTTP y mediante el uso de un controlador personalizado IIS.

Nivel de Aplicación Tratamiento de errores

Usted puede controlar los errores por omisión a nivel de aplicación, ya sea mediante la

modificación de la aplicación configuración o mediante la adición de un controlador

Application_Error en el Global.asax archivo de su solicitud.

Usted puede controlar los errores por omisión y errores HTTP mediante la adición de una sección

customErrors a la Web.config archivo. La sección customErrors permite especificar una página

predeterminada que los usuariosser redirigido a cuando se produce un error. También permite

especificar páginas individuales para concreto errores de código de estado.

Página 182

Por desgracia, cuando se utiliza la configuración para redirigir al usuario a una página diferente,

que haces No se disponen de datos del error ocurrido.

Sin embargo, usted puede capturar los errores que se producen en cualquier lugar de su aplicación

mediante la adición de código para el Manejador Application_Error en el Global.asax archivo.

Nivel Página Control de errores Evento

Un controlador de nivel de página devuelve al usuario a la página donde se produjo el error, sino

porque las instancias de los controles no se mantienen, ya no va a ser nada en la página. A

proporcionar los detalles del error al usuario de la aplicación, se debe escribir específicamente el

error detalles a la página.

Page 167: Getting Started With ASP.net Español

Usted normalmente utilizar un gestor de errores a nivel de página para iniciar la sesión no

controlada errores o para llevar al usuario a una página que puede mostrar información útil.

Este ejemplo de código muestra un controlador para el evento de error en una página Web

ASP.NET. Este controlador las capturas de todas las excepciones que no están ya manejadas

dentro de los bloques try / catch en la página.

Después de manejar un error, debe desactivarla mediante una llamada al método ClearError del

Servidor objeto (HttpServerUtility clase), de lo contrario, verá un error que tiene previamente

ocurrió.

Código Nivel tratamiento de errores

La sentencia try-catch consiste en un bloque try seguida de una o más cláusulas de captura, lo que

especifique manejadores para diferentes excepciones. Cuando se produce una excepción, la

lengua común runtime (CLR) busca la sentencia catch que maneja esta excepción. Si el momento

Página 183

método de ejecución no contiene un bloque catch, el CLR mira el método que llama método

actual, y así sucesivamente, hasta la pila de llamadas. Si no se encuentra un bloque catch, el CLR

muestra un mensaje de excepción no controlada para el usuario y detiene la ejecución del

programa.

El ejemplo de código siguiente se muestra una forma común de utilizar try / catch / finally para

manejar errores.

Page 168: Getting Started With ASP.net Español

En el código anterior, el bloque try contiene el código que necesita ser protegido contra una

posible excepción. El bloque se ejecuta hasta que se lanza ya sea una excepción o el bloque se

completa exitosamente. Si bien una excepción FileNotFoundException o una excepción

IOException ocurre, la ejecución se transfiere a una página diferente. A continuación, el código

contenido en el último bloque se ejecuta, si ocurrió un error o no.

Adición de Registro de errores Soporte

Antes de agregar el control de errores de la aplicación de ejemplo Wingtip Toys, agregará el

registro de errores apoyo mediante la adición de una clase ExceptionUtility a la lógica de la

carpeta. Al hacer esto, cada vezla aplicación se encarga de un error, se añadirán los detalles del

error en el archivo de registro de errores.

1. Haga clic en la lógica de la carpeta y luego seleccione Agregar -> Nuevo elemento.El Agregar

nuevo elemento se muestra el cuadro de diálogo.

2. Seleccione el Visual C # -> Código grupo de plantillas a la izquierda. A continuación, seleccione la

clase de laLista de medio y el nombre ExceptionUtility.cs.

3. Elija Agregar. Se muestra el nuevo archivo de clase.

4. Reemplace el código existente con el siguiente:

Página 184

Page 169: Getting Started With ASP.net Español

Cuando se produce una excepción, la excepción se puede escribir en un archivo de registro

excepción llamando al Método LogException. Este método toma dos parámetros, el objeto de

excepción y una cadena que contiene detalles sobre la fuente de la excepción. El registro de

excepción se escribe en el ErrorLog.txt archivo en el App_Data carpeta.

Adición de una página de error

En la aplicación de ejemplo Wingtip Toys, una página se utilizará para mostrar errores. La página

de error está diseñado para mostrar un mensaje de error seguro a los usuarios del sitio. Sin

embargo, si el usuario es un

Página 185

desarrollador hacer una petición HTTP que se sirve de forma local en la máquina donde el código

vidas, los detalles de error adicionales se mostrarán en la página de error.

Page 170: Getting Started With ASP.net Español

1. Haga clic en el nombre del proyecto (Wingtip Toys) en el Explorador de soluciones y seleccione

Agregar ->Nuevo elemento.El Agregar nuevo elemento se muestra el cuadro de diálogo.

2. Seleccione el Visual C # -> Web grupo de plantillas a la izquierda. En la lista de medio,

seleccioneFormulario Web con páginas maestras, y el nombre de ErrorPage.aspx.

3. Haga clic en Agregar.

4. Seleccione el Site.Master archivo como la página principal, y luego seleccione Aceptar.

5. Vuelva a colocar el marcado actual por el siguiente:

6. Reemplace el código existente del código subyacente (ErrorPage.aspx.cs) para que

aparezca como de la siguiente manera:

Página 186

Page 171: Getting Started With ASP.net Español

Página 187

Page 172: Getting Started With ASP.net Español

Cuando aparezca la página de error, se ejecuta el controlador de eventos Page_Load. En el

Page_Load manejador, la ubicación de donde se determina el error fue manejado primero.

Entonces, el último error producido se determina mediante una llamada al método GetLastError

del objeto Server. Si la excepción ya no existe, se crea una excepción genérica. Entonces, si la

solicitud HTTP se hizo a nivel local, todo Se muestran los detalles del error. En este caso, sólo el

equipo local que ejecuta la aplicación web verá estos detalles del error. Después de la información

de error se ha mostrado, se añade el error en el registro archivo y el error se borra del servidor.

Mostrando mensajes de error no controladas para la Aplicación

Mediante la adición de una sección customErrors al Web.config archivo, puede manejar

rápidamente los errores simplesque se producen en toda la aplicación. También puede especificar

cómo manejar los errores en función de su valor del código de estado, como 404 - File not found.

Actualización de la configuración

Actualización de la configuración mediante la adición de una sección customErrors al Web.config

archivo.

1. En el Explorador de soluciones, encontrar y abrir el Web.config archivo en la raíz de los Juguetes

Wingtipaplicación de ejemplo.

2. Agregue la sección customErrors al Web.config archivo dentro del nodo <system.web> como

sigue:

2. Guarde el archivo Web.config archivo.

La sección customErrors especifica el modo, que se fija en "On". También especifica el

defaultRedirect, que cuenta la aplicación que la página para navegar hasta cuando se produce un

error.

Page 173: Getting Started With ASP.net Español

Página 188

Además, se ha añadido un elemento de error específico que especifica cómo manejar un error 404

cuando no se encuentra una página. Más adelante en este tutorial, agregará el manejo de errores

adicionales que capturar los detalles de un error a nivel de aplicación.

Ejecutar la aplicación

Puede ejecutar la aplicación ahora para ver las rutas actualizadas.

1. Presione F5 para ejecutar la aplicación de ejemplo Wingtip Toys.El navegador se abre y muestra

el Default.aspx página.

2. Escriba el siguiente URL en el navegador (asegúrese de utilizar el número de puerto):http: //

localhost: 1234 / NoPage.aspx

3. Revise la ErrorPage.aspx muestra en el navegador.

Cuando usted solicita la NoPage.aspx página, que no existe, la página de error mostrará elmensaje

de error simple y la información de error detallado si los detalles adicionales están disponibles. Sin

embargo, si el usuario solicita una página inexistente desde una ubicación remota, la página de

error que sólo se mostrará el mensaje de error en rojo.

Incluyendo una excepción para los propósitos de prueba

Página 189

Page 174: Getting Started With ASP.net Español

Para comprobar cómo funcionará su aplicación cuando se produce un error, puede crear

deliberadamente condiciones de error en ASP.NET. En la aplicación de ejemplo Wingtip Toys,

usted lanzar una prueba excepción cuando se carga la página por defecto para ver qué pasa.

1. Abra el código subyacente del Default.aspx página en Visual Studio.El Default.aspx.cs se

mostrará la página de código subyacente.

2. En el controlador de Load, agregue código para que el manejador aparece como sigue:

Es posible crear varios tipos diferentes de excepciones. En el código anterior, que está creando

una InvalidOperationException cuando el Default.aspx se carga la página.

Ejecutar la aplicación

Puede ejecutar la aplicación para ver cómo la aplicación controla la excepción.

1. Presione CTRL + F5 para ejecutar la aplicación de ejemplo Wingtip Toys.La aplicación tira el

InvalidOperationException.

Nota

Usted debe presionar CTRL + F5 para visualizar la página sin romper en el código para ver elorigen

del error en Visual Studio.

Página 190

2. Revise la ErrorPage.aspx muestra en el navegador.

Page 175: Getting Started With ASP.net Español

Como se puede ver en los detalles del error, la excepción fue atrapado por la sección CustomError

en el Web.config archivo.

Adición de aplicaciones de nivel de tratamiento de errores

En lugar de atrapar la excepción usando la sección customErrors en el Web.config archivo,

dondeusted ganar poca información acerca de la excepción, puede interceptar el error a nivel de

aplicación y recuperar los detalles del error.

1. En el Explorador de soluciones, encontrar y abrir la Global.asax.cs archivo.

2. Añadir un Application_Error manejador para que aparezca la siguiente manera:

Página 191

Cuando se produce un error en la aplicación, el manejador Application_Error se llama. En esto

manejador, se recupera y se revisó la última excepción. Si la excepción fue controlada y la

excepción contiene detalles del centro de la excepción (es decir, InnerException no es nulo), el

transferencias de solicitud de ejecución de la página de error en el que se muestran los detalles de

la excepción.

Ejecutar la aplicación

Puede ejecutar la aplicación para ver los detalles del error adicionales proporcionados por el

manejo de la excepción a nivel de aplicación.

1. Presione CTRL + F5 para ejecutar la aplicación de ejemplo Wingtip Toys.La aplicación tira el

InvalidOperationException.

Página 192

2. Revise la ErrorPage.aspx muestra en el navegador.

Page 176: Getting Started With ASP.net Español

Adición de página de nivel Control de errores

Puede agregar el control de errores a nivel de página a una página ya sea mediante el uso de la

adición de un ErrorPage atribuir a la directiva @ Page de la página, o mediante la adición de un

controlador de eventos Page_Error a la código subyacente de una página. En esta sección,

agregará un controlador de eventos Page_Error que lo hará transferir la ejecución a la

ErrorPage.aspx página.

1. En el Explorador de soluciones, encontrar y abrir la Default.aspx.cs archivo.

2. Agregue un controlador Page_Error para que el código subyacente aparece como sigue:

Página 193

Page 177: Getting Started With ASP.net Español

Cuando se produce un error en la página, el controlador de eventos Page_Error se llama. En este

controlador, el se recupera y revisado última excepción. Si se produce un

InvalidOperationException, la Controlador de eventos Page_Error transfiere la ejecución a la

página de error en los detalles de la excepción se muestran.

Ejecutar la aplicación

Puede ejecutar la aplicación ahora para ver las rutas actualizadas.

1. Presione CTRL + F5 para ejecutar la aplicación de ejemplo Wingtip Toys.La aplicación tira el

InvalidOperationException.

Página 194

2. Revise la ErrorPage.aspx muestra en el navegador.

Page 178: Getting Started With ASP.net Español

3. Cierre la ventana del navegador.

Extracción de la Excepción utilizados para las pruebas

Para permitir la aplicación de ejemplo Wingtip Toys para funcionar sin tirar la excepción que

agregado anteriormente en este tutorial, quitar la excepción.

1. Abra el código subyacente del Default.aspx página.

2. En el controlador de Page_Load, quitar el código que produce la excepción para que el

manejador aparece como sigue:

Página 195

Agregar código-Nivel de registro de error

Page 179: Getting Started With ASP.net Español

Como se mencionó anteriormente en este tutorial, puede añadir declaraciones try / catch para

intentar ejecutar un sección del código y manejar el primer error que se produce. En este ejemplo,

sólo escribir el detalles del error en el archivo de registro de errores de manera que el error se

pueden revisar más tarde.

1. En el Explorador de soluciones, en la lógica de carpetas, busque y abra la PayPalFunctions.cs

archivo.

2. Actualizar el método HttpCall para que el código aparece como sigue:

El código anterior llama al método LogException que se contiene en el ExceptionUtility clase.

Añadiste el ExceptionUtility.cs archivo de clase a la lógica carpeta anteriormente en este tutorial.

los Método LogException toma dos parámetros. El primer parámetro es el objeto de excepción. los

segundo parámetro es una cadena que se utiliza para reconocer la fuente del error.

Inspección de la Información de Registro de errores

Como se mencionó anteriormente, puede utilizar el registro de errores para determinar qué

errores en su aplicación debe fijarse primero. Por supuesto, sólo los errores que han sido

atrapados y escritas a el registro de errores se grabará.

Página 196

Page 180: Getting Started With ASP.net Español

1. En el Explorador de soluciones, encontrar y abrir la ErrorLog.txt archivo en el App_Data

carpeta.Puede que tenga que seleccionar la opción "Mostrar todos los archivos opción" o "Refresh

opción" de la parte superiordel Explorador de soluciones para ver la ErrorLog.txt archivo.

2. Revise el registro de error que aparece en Visual Studio:

Mensajes de error seguras

Es importante tener en cuenta que cuando su aplicación muestra mensajes de error, no se debe

darinformación de distancia que un usuario malintencionado podría resultar útil en el ataque a su

aplicación. por ejemplo, si su aplicación sin éxito intenta escribir en una base de datos, no debe

mostrar un mensaje de error que incluye el nombre de usuario que está utilizando. Por esta razón,

un error genérico mensaje en rojo se muestra al usuario. Todos los detalles del error adicionales

sólo se expresan en números desarrollador en el equipo local.

Usando ELMAH

ELMAH (Módulos de registro de error y manipuladores) es un centro de registro de errores que se

conecta a su Aplicación ASP.NET como un paquete NuGet. ELMAH proporciona las siguientes

capacidades:

4. Registro de excepciones no controladas.

5. Una página web para ver todo el registro de excepciones recodificados no controlada.

Page 181: Getting Started With ASP.net Español

Página 197

6. Una página web para ver los detalles completos de cada excepción conectado.

7. Una notificación por correo electrónico de cada error en el momento en que se produce.

8. Un feed RSS de los últimos 15 errores del registro.

Antes de poder trabajar con el ELMAH, debe instalarlo. Esto es fácil de usar el NuGet

paqueteinstalador. Como se mencionó anteriormente en esta serie de tutoriales, NuGet es una

extensión de Visual Studio que hace que sea fácil de instalar y actualizar las bibliotecas y

herramientas de código abierto en Visual Studio.

1. Dentro de Visual Studio, desde el Herramientas menú, seleccione Biblioteca Package Manager -

>Administrar paquetes NuGet para solución.

2. La Administrar NuGet Paquetes cuadro de diálogo se muestra dentro de Visual Studio.

3. En el Administrar NuGet Paquetes cuadro de diálogo, expanda en línea a la izquierda, y luego

seleccionenuget.org. Entonces, encontrar e instalar el ELMAH paquete de la lista de paquetes

disponibles en línea.

4. Usted necesita tener una conexión a Internet para descargar el paquete.

Page 182: Getting Started With ASP.net Español

Página 198

5. En el Seleccione Proyectos cuadro de diálogo, asegúrese de que el WingtipToys se selecciona la

selección, ya continuación, haga clic en Aceptar.

6. Haga clic en Cerrar en el Manejo de NuGet Paquetes cuadro de diálogo si es necesario.

7. Si las solicitudes de Visual Studio que se vuelva a cargar todos los archivos abiertos, seleccionar

"Sí a todo".

8. El paquete ELMAH agrega entradas para sí mismo en el Web.config archivo en la raíz de su

proyecto. Si Visual Studio le pregunta si desea volver a cargar la modificación Web.config archivo,

haga clic en Sí.

ELMAH ya está listo para almacenar los errores no controlados que se producen.

Visualización de la ELMAH Conectarse

Visualización del registro ELMAH es fácil, pero primero va a crear una excepción no controlada que

será registrada en el registro de ELMAH.

1. Presione CTRL + F5 para ejecutar la aplicación de ejemplo Wingtip Toys.

2. Para escribir una excepción no controlada en el registro ELMAH, navegue en su navegador para

la siguiente URL (usando su número de puerto): http: // localhost: 1234 / NoPage.aspx Se mostrará

la página de error.

3. Para mostrar el registro ELMAH, navegue en su navegador para la siguiente URL (usando su

número de puerto):

Página 199

http: // localhost: 1234 / elmah.axd

Page 183: Getting Started With ASP.net Español

Sumario

En este tutorial, que ha aprendido sobre el manejo de errores a nivel de aplicación, el nivel de

página, y el nivel de código. También ha aprendido cómo iniciar sesión errores manejados y no

manejados para más tarde reseña. Añadiste la utilidad ELMAH proporcionar tala excepción y

notificación a su aplicación utilizando NuGet. Además, usted ha aprendido acerca de la

importancia de error segura mensajes.

Conclusión

Esto completa el ASP.NET 4.5 Wingtip Toys serie de tutoriales. Para obtener más información

acerca de la nueva Características Formularios Web disponibles en ASP.NET 4.5 y Studio 2013

Visual, vea ASP.NET y Web Herramientas para Visual Studio 2013 Release Notes.

Recursos adicionales

Registro Detalles de error con monitoreo ASP.NET Salud

ELMAH