Вы находитесь на странице: 1из 183

Pgina 18

Crear el proyecto
Este serie tutorial te ensear los fundamentos de la construccin de una aplicacin 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 # cdigo est disponible para acompaar 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 caractersticas de ASP.NET. Adems, se le
revisar el Visual Studio ambiente.

Lo que aprender:

Cmo crear un nuevo proyecto Web Forms.


La estructura de archivos del proyecto Web Forms.
Cmo ejecutar el proyecto en Visual Studio.
Las diferentes caractersticas de la aplicacin de los formularios Web predeterminado.
Algunos conceptos bsicos sobre cmo 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 aplicacin Web ASP.NET en la columna central.

Pgina 19
5. Nombre tus WingtipToys proyecto y elija el botn 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 cdigo proporcionado a lo largo de esta serie de
tutoriales funciona como se esperaba.
Pgina 20
6. A continuacin, seleccione la plantilla de formularios Web Forms y chooks el botn Crear
proyecto.

Pgina 21
El proyecto se llevar un poco de tiempo para crear. Cuando est listo, abra la pgina Default.aspx.

Se puede cambiar entre la vista Diseo y la vista Cdigo fuente seleccionando una opcin en la
parte inferior de el centro de la ventana. vista Diseo muestra las pginas Web ASP.NET, pginas
maestras, pginas de contenido, Pginas HTML y controles de usuario utilizando una vista casi
WYSIWYG. Vista de origen muestra el cdigo HTML markup para su pgina web, que se puede
editar.

La comprensin de los marcos de ASP.NET


ASP.NET Web Forms le permite crear sitios web dinmicos utilizando una drag-and-drop familiar,
evento- modelo impulsado. Una superficie de diseo y cientos de controles y componentes le
permiten crear rpidamente 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 programacin, como Microsoft Windows Forms (WinForms) y WPF / XAML / Silverlight.
Ofrece un modelo de desarrollo impulsado por el diseador WYSIWYG, por lo que es popular entre
los desarrolladores en busca de un entorno de desarrollo rpido de aplicaciones (RAD) para el
desarrollo web. Si usted es nuevo en la programacin web y est familiarizado con el tradicional
Microsoft RAD
Pgina 22
herramientas de desarrollo de cliente (por ejemplo, para Visual Basic y Visual C #), usted puede
rpida construir una aplicacin web sin tener experiencia en HTML y JavaScript.

ASP.NET MVC

ASP.NET MVC se dirige a los desarrolladores que estn interesados en los patrones y principios
como los Ensayos desarrollo impulsado, separacin de intereses, inversin de control (IoC), y la
dependencia inyeccin (DI). Este marco alienta a la separacin de la capa de lgica de negocio de
una red aplicacin de su capa de presentacin.

ASP.NET Web Pages

Pginas Web ASP.NET dirige a los desarrolladores que quieren una simple historia de desarrollo
web, a lo largo de las lneas de PHP. En el modelo de pginas Web, crear pginas HTML y luego
agrega cdigo basado en el servidor de la pgina con el fin de controlar la dinmica de cmo el
lenguaje de formato rendido. Pginas Web est diseado especficamente para ser un marco
ligero, y es el ms fcil punto en ASP.NET entrada para gente que sabe HTML, pero podran no
tener amplia experiencia en programacin - por ejemplo, estudiantes o aficionados. Tambin es
una buena manera para que desarrolladores web que conocen PHP o marcos similares para
empezar a utilizar ASP.NET.

ASP.NET sola pgina Aplicacin

Pgina nica aplicacin 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 creacin de aplicaciones de una sola pgina
utilizando knockout.js y API Web ASP.NET. Adems de la nueva plantilla Spa, Nueva plantillas SPA
creado en la comunidad tambin estn disponibles para su descarga.
Adems de los cuatro marcos principales de desarrollo, ASP.NET tambin ofrece adicional
tecnologas que son importantes para conocer y familiarizarse con, pero no estn cubiertos en
este serie de tutoriales:
ASP.NET Web API - Un marco para la construccin de servicios HTTP que llegan a una amplia gama
de clientes, incluyendo los navegadores y dispositivos mviles.
ASP.NET SignalR - Una biblioteca que hace que el desarrollo de la funcionalidad de la web en
tiempo real fcil.

Revisin 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 aadido a su aplicacin en el Explorador de
soluciones. La web
Pgina 23
plantilla de aplicacin aade una estructura bsica de carpetas:

Visual Studio crea algunas carpetas iniciales y archivos para su proyecto. Los primeros archivos que
sern trabajar con ms adelante en este tutorial son los siguientes:
Archivo
Default.aspx
Site.Master
Global.asax
Web.config

Propsito
Normalmente la primera pgina aparece cuando la aplicacin se ejecuta en un
navegador.
Una pgina que te permite crear un diseo consistente y utiliza comportamiento
estndar para las pginas de la aplicacin.
Un archivo opcional que contiene cdigo para responder a aplicacin- eventos de
nivel y de nivel de sesin planteadas por ASP.NET o HTTP mdulos.
Los datos de configuracin para una aplicacin.

Pgina 24

Ejecutar la aplicacin Web predeterminado


La aplicacin Web predeterminado proporciona una experiencia rica basada en funcionalidad
integrada y apoyo. Sin ningn tipo de cambios en el proyecto de formularios Web
predeterminado, la aplicacin est lista para funcionar en tu navegador web local.
1. Presione la tecla F5 mientras que en Visual Studio.
La aplicacin construir y visualizacin en el navegador Web.

2. Una vez que haya completado opinin la aplicacin en ejecucin, cierre la ventana del
navegador.
Hay tres pginas principales en esta aplicacin web por defecto: Default.aspx (Inicio), About.aspx,
y Contact.aspx. Cada una de estas pginas se puede acceder desde la barra de navegacin
superior. Hay tambin dos pginas adicionales contenidos en la carpeta de la cuenta, la pgina
register.aspx y Pgina Login.aspx. Estas dos pginas 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 pginas que se basan en la tecnologa Microsoft ASP.NET, en el cual el
cdigo que se ejecuta en el servidor genera dinmicamente resultado de la pgina web con el
navegador o dispositivo de cliente.
Pgina 25
Una pgina Web Forms ASP.NET hace automticamente el HTML navegador compatible correcta
para caractersticas tales como estilos, diseo, y as sucesivamente. Web Forms son compatibles
con cualquier lenguaje Compatible con .NET Common Language Runtime, como Microsoft Visual
Basic y Microsoft Visual C #. Adems, 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 pgina de formularios Web ASP.NET se ejecuta, la pgina pasa por un ciclo de vida en
que se lleva a cabo una serie de pasos de procesamiento. Estos pasos incluyen la inicializacin,
crear instancias de los controles, la restauracin y el mantenimiento de estado, la ejecucin de
cdigo de controlador de eventos, y la representacin. A medida que se familiarice ms con el
poder de ASP.NET Web Forms, es importante que usted entienda la pgina ASP.NET ciclo de vida
de modo que usted puede escribir cdigo en la etapa del ciclo de vida adecuado para el efecto que
desea.
Cuando un servidor Web recibe una peticin de una pgina, se encuentra la pgina, lo procesa, lo
enva a la navegador y, a continuacin, descarta toda informacin de la pgina. Si el usuario
solicita la misma pgina de nuevo, el servidor repite toda la secuencia, el reprocesamiento de la
pgina desde cero. Dicho de otra manera, una servidor no tiene memoria de pginas que ha
procesados-pginas son aptridas. La pgina ASP.NET marco se encarga de automatizar la tarea de
mantener el estado de su pgina y sus controles, y que le provee de maneras explcitas para
mantener el estado de la informacin especfica de la aplicacin.

Caractersticas de la aplicacin Web en la Web Forms de plantillas de aplicaciones


La plantilla de formularios Web Forms aplicacin ASP.NET proporciona un rico conjunto de
funcionalidad integrada. No slo le proporciona una pgina Home.aspx, una pgina About.aspx,
una pgina Contact.aspx, sino tambin incluye la funcionalidad de miembros que registra los
usuarios y guarda sus credenciales para que puede iniciar sesin en su sitio web. Esta visin
general proporciona ms informacin sobre algunas de las caractersticas contenidos en la Web
Forms plantilla de aplicacin ASP.NET y cmo se utilizan en el Aplicacin Wingtip Toys.

Afiliacin
ASP.NET Id entidad almacena las credenciales de los usuarios en una base de datos creada por la
aplicacin. Cuando sus usuarios inician sesin en la aplicacin 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 membresa: registrarse, iniciar sesin, cambiar una
contrasea, y autorizar el acceso. Adems, Web ASP.NET Formas soporta OAuth y OpenID. Estas
mejoras de autenticacin permiten a los usuarios inician sesin en su sitio usando las credenciales
existentes, de las cuentas como Facebook, Twitter, Windows Live y Google.
Pgina 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 versin ligera de SQL Server que tiene muchos caractersticas
de programacin de una base de datos SQL Server. SQL Server Express LocalDB se ejecuta en el
usuario el modo y tiene una instalacin, configuracin cero rpida que tiene una lista corta de

instalacin requisitos previos. En Microsoft SQL Server, cualquier cdigo de base de datos o
Transact-SQL se puede mover de SQL Server Express LocalDB a SQL Server y SQL Azure sin pasos
de actualizacin. 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,
Pgina 27
funciones definidas por el usuario y los agregados, la integracin de .NET Framework, tipos
espaciales y otros que no estn disponibles en SQL Server Compact.
Pginas Maestras
Un Pgina maestra ASP.NET define una apariencia y comportamiento uniformes para todas las
pginas en su aplicacin. El diseo de la pgina principal se fusiona con el contenido de un
individuo pgina de contenido para producir la ltima pgina que el usuario ve. En la aplicacin de
Wingtip Toys, que modificar la pgina maestra Site.Master de manera que todas las pginas de la
Wingtip Toys web comparten el mismo logotipo distintivo y barra de navegacin.
HTML5
La plantilla de formularios Web Forms aplicacin ASP.NET es compatible con HTML5, que es la
ltima versin del el lenguaje de marcado HTML. HTML5 es compatible con nuevos elementos y
funciones que hacen ms fcil para crear sitios Web.
Modernizr
Para navegadores que no soportan HTML5, puede utilizar Modernizr . Modernizr es un cdigo
abierto Biblioteca JavaScript que puede detectar si un navegador soporta caractersticas de
HTML5, y permitirles si no lo hace. En la plantilla de formularios Web Forms aplicacin 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 diseo y
tematizacin creado por Twitter. Bootstrap utiliza CSS3 para proporcionar el diseo de respuesta,
lo que significa que los diseos pueden adaptarse dinmicamente a diferentes tamaos de
ventana del navegador. Tambin puede usar la tematizacin de Manos a la Obra funcin para
efectuar fcilmente un cambio en el aspecto de la aplicacin y la sensacin. Por defecto, la Web
ASP.NET Plantilla de aplicacin en Visual Studio 2013 incluye Bootstrap como un paquete
NuGet. Paquetes
NuGet La plantilla de formularios Web Forms aplicacin ASP.NET incluye un conjunto de NuGet
paquetes. Estas paquetes proporcionan funcionalidad por componentes en forma de bibliotecas y
herramientas de cdigo abierto. Hay una amplia variedad de paquetes para ayudarle a crear y
probar sus aplicaciones. Estudio visual hace que sea fcil de aadir, eliminar y actualizar paquetes
NuGet. Los desarrolladores pueden crear y aadir paquetes a Nuget tambin.
Pgina 28

Al instalar un paquete, copias NuGet archivos a su solucin y hace automticamente Se necesitan


independientemente de los cambios, como la adicin de referencias y cambiando eres la
configuracin asociada a la aplicacin Web. Si usted decide quitar la biblioteca, NuGet elimina
archivos e invierte lo cambia hizo en su proyecto para que ningn desorden se deja. NuGet es
disponible en el men Herramientas en Visual Studio.
jQuery
jQuery es una biblioteca de JavaScript rpida y concisa que simplifica documento HTML de
desplazamiento, evento manipulacin, animar y Ajax interacciones para el desarrollo web rpido.
El jQuery JavaScript biblioteca est incluido en la plantilla de formularios Web Forms aplicacin
ASP.NET como un paquete NuGet.
Validacin Discreto
Incorporado en los controles de validacin se han configurado para utilizar JavaScript discreto para
el lado del cliente lgica de validacin. Esto reduce significativamente la cantidad de JavaScript
mostrada en lnea en la pgina markup y reduce el tamao total de la pgina. Validacin discreto
se aade a nivel mundial para el ASP.NET Web Forms plantilla Aplicacin basada en el ajuste en el
<appSettings> elemento de el archivo Web.config en la raz de la aplicacin.
Entity Framework Primer Cdigo
Adems de las caractersticas de la Web Forms plantilla de aplicacin ASP.NET, los juguetes
Wingtip usos de aplicaciones Entity Framework Primer Cdigo , Que es una biblioteca NuGet que
permite que el cdigo 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 cdigo que usted escribe. El uso
de Entity Framework, se recupera y manipular datos como objetos inflexible de tipos. Esto le
permite centrarse en la lgica de negocio en su aplicacin en lugar de los detalles de cmo se
accede a los datos.

Pgina 29
Para obtener informacin 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 Solucin y seleccionar los paquetes
instalados en el cuadro de dilogo 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 ms informacin acerca de Visual Studio, consulte Gua Visual de Visual Web
Developer.

Sumario
En este tutorial que ha creado, revisado y ejecutar la aplicacin Web Forms predeterminada.
Tienes revisado las diferentes caractersticas de la aplicacin de los formularios Web
predeterminado y aprendido algunos conceptos bsicos acerca de cmo utilizar el entorno de
Visual Studio. En los siguientes tutoriales vamos a crear los datos capa de acceso.

Recursos adicionales
Elegir el modelo de programacin de Derecho Proyectos de aplicacin Web frente Web Proyectos
Sitio ASP.NET Web Forms Pginas Informacin general
Pgina 30

Crear la capa de acceso a datos


Esta serie tutorial te ensear los fundamentos de la construccin de una aplicacin 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 # cdigo est disponible para acompaar esta serie de
tutoriales.
Este tutorial describe cmo crear, acceder y revisar los datos de una base de datos utilizando
ASP.NET Web Forms y Entity Framework Primer Cdigo. 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 estn en la
carpeta Modelos del proyecto.

Lo que aprender:
Cmo crear los modelos de datos.
Cmo inicializar y sembrar la base de datos.
Cmo actualizar y configurar la aplicacin para apoyar la base de datos.

Estas son las caractersticas introducidas en el tutorial:


Entity Framework Primer Cdigo
LocalDB
Datos Anotaciones

La creacin 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 cdigo de acceso a datos que te
gustara normalmente necesita escribir. El uso de Entity Framework, puede emitir consultas
utilizando LINQ, a continuacin, 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 aplicacin, en lugar de centrndose en los aspectos
fundamentales de acceso a datos. Ms adelante en esta serie de tutoriales, le mostraremos cmo
utilizar los datos para rellenar las consultas de navegacin y de productos.
Entity Framework apoya un paradigma de desarrollo llamado Primer Cdigo. Cdigo Primero le
permite definir sus modelos de datos utilizando clases. Una clase es una construccin que le
permite crear su propio tipos personalizados mediante la agrupacin de variables de otros tipos,
mtodos 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, dejars de Entity Framework crear el base de datos sobre la marcha a
partir de estas nuevas clases.
Usted va a comenzar por la creacin 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. Tambin crear una clase inicializador
que va a utilizar para rellenar la base de datos.
Pgina 31

Entity Framework y Referencias


Por defecto, Entity Framework se incluye cuando se crea una nueva aplicacin Web ASP.NET
utilizando la plantilla de formularios Web Forms. Entity Framework se puede instalar, desinstalar,
y lo actualiza segn un paquete NuGet.
Este paquete NuGet incluye los siguientes conjuntos de tiempo de ejecucin dentro de su
proyecto:

EntityFramework.dll - Todo el cdigo de tiempo de ejecucin comn 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 diseo 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 cdigo
orientado a objetos y la estructura de la tabla relacional de la base de datos.
En este tutorial, usted comenzar a cabo mediante la adicin de clases de entidad simples que
representan los esquemas de productos y categoras. 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, Descripcin, ImagePath, PrecioUnidad, IdCategora, y categora. La clase
de categora voluntad contiene definiciones para cada categora que un producto puede
pertenecer a, por ejemplo, coche, barco o avin. El nombre de cada uno de los miembros de la
clase de categora ser CategoryID, CategoryName, Descripcin y productos. Cada producto
pertenecer a una de las categoras. Estos entidad clases sern agregados a la carpeta de modelos
existentes del proyecto.
Pgina 32
1. En el Explorador de soluciones, haga clic en la carpeta Modelos y luego seleccione
Agregar -> Nuevo elemento.

Se muestra el cuadro de dilogo Agregar nuevo elemento.


Pgina 33
2. En Visual C # en el panel instalado en la izquierda, seleccione Cdigo.

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 cdigo predeterminado con el siguiente cdigo:

Pgina 34
6. Cree otra clase repitiendo los pasos 1 a 4, sin embargo, el nombre de la nueva clase Category.cs
y reemplazar el cdigo predeterminado con el siguiente cdigo:

Como se mencion anteriormente, la clase Categora representa el tipo de producto que la


aplicacin est diseada 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. Ms 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 anotacin de datos pueden describir cmo 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 Categora) 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.

El Agregar nuevo elemento se muestra el cuadro de dilogo.


2. Seleccione la clase del panel central, lo nombra ProductContext.cs y haga clic en Aadir.
3. Reemplace el cdigo predeterminado contenida en la clase con el siguiente cdigo:

Pgina 35

Este cdigo agrega el espacio de nombres System.Data.Entity para que tenga acceso a todo el
ncleo 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 lgica personalizada para inicializar la base de datos la primera
vez que el contexto es utilizado. Esto permitir que los datos de semillas que se aadirn a la base
de datos para que pueda mostrar de inmediato productos y categoras.
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 cdigo predeterminado contenida en la clase con el siguiente cdigo:

Pgina 36

Pgina 37

Pgina 38

Pgina 39

Como se puede ver en el cdigo 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 categoras y los productos se utilizan para rellenar la base de datos. Si intenta actualizar los
datos de semillas por modificar el cdigo anterior despus de la base de datos se ha creado, no
podr ver las actualizaciones cuando ejecutar la aplicacin Web. La razn es que el cdigo anterior
utiliza una implementacin 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 categora y Clases de entidad de producto, la base de datos no se reinicializan con los
datos de semillas.
Nota
Si queras la base de datos para ser recreado cada vez que se ejecut la aplicacin, 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:

Pgina 40

Configurar la aplicacin para que utilice el modelo de datos


Ahora que usted ha creado las clases que representan los datos, debe configurar la aplicacin
utilizar las clases. En el Global.asax archivo, agregue cdigo que inicializa el modelo. en el
Web.config archivo que aadir la informacin que le dice a la aplicacin 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 aplicacin o mtodos. El Web.config archivo le
permite controlar la configuracin delsu aplicacin web ASP.NET.

Actualizacin del archivo Global.asax


Pgina 41
Para inicializar los modelos de datos cuando se inicia la aplicacin, 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 cdigo resaltado en amarillo con el mtodo Application_Start en el
Global.asax.cs archivo.

Nota
Su navegador debe soportar HTML5 para ver el cdigo resaltado en amarillo cuando se ve
esteserie de tutoriales en un navegador.

Como se muestra en el cdigo anterior, cuando se inicia la aplicacin, la aplicacin 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 Cdigo Entity Framework Primera generar una base de datos para usted en una
ubicacin predeterminada cuando la base de datos se rellena con datos de semillas,
aadiendo su propia informacin de conexin a su aplicacin le da el control de la ubicacin
de la base de datos. Se especifica esta base de datos conexin mediante una cadena de
conexin en el de la aplicacin Web.config archivo en la raz de la
Pgina 42
proyecto. Mediante la adicin de una nueva cadena de conexin, puede dirigir la ubicacin de la
base de datos (Wingtiptoys.mdf) que se construir en el directorio de datos de la aplicacin
(App_Data), en lugar de su valor por defecto localizacin. Realizar este cambio le permitir
encontrar e inspeccionar el archivo de base de datos ms adelante en este tutorial.
1. En el Explorador de soluciones, encontrar y abrir el Web.config archivo.
2. Agregue la siguiente cadena de conexin resaltado en amarillo a la <connectionStrings> del
web.config archivo de la siguiente manera:

Cuando se ejecuta la aplicacin por primera vez, se va a construir la base de datos en la ubicacin
especificada por la cadena de conexin. Pero antes de ejecutar la aplicacin, vamos a construir
primero.

La construccin de la Aplicacin
Para asegurarse de que todas las clases y los cambios en su trabajo de aplicacin Web, usted debe
construir la aplicacin.
1. En la depuracin de mens, seleccione Construir WingtipToys.
La salida se muestra la ventana, y si todo ha ido bien, ver un logrado mensaje.

Si surge un error, vuelva a comprobar los pasos anteriores. La informacin de la salida ventana
se indicar qu archivo tiene un problema y en qu parte del archivo es necesario un cambio.
Esta informacin ser que permitir determinar qu parte de los pasos anteriores necesita ser
revisado y corregido en su proyecto.

Sumario
Pgina 43
En este tutorial de la serie que ha creado el modelo de datos, as como, agreg el cdigo que har
ser utilizado para inicializar y sembrar la base de datos. Tambin ha configurado la aplicacin para
utilizar el modelos de datos cuando se ejecuta la aplicacin.
En el siguiente tutorial, podrs actualizar la interfaz de usuario, agrega la navegacin, y recuperar
datos de la base de datos. Esto dar lugar a la base de datos est automticamente creado en base
a las clases de entidad que creado en este tutorial.

Recursos adicionales
Entity Framework Informacin general Gua para principiantes al Marco ADO.NET Entity Primer
Cdigo de Desarrollo con Entity Framework (video) Cdigo primeras relaciones Fluido API Cdigo
First Data Anotaciones Las mejoras de productividad para Entity Framework
Pgina 44

IU y Navegacin
Esta serie tutorial te ensear los fundamentos de la construccin de una aplicacin 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 # cdigo est disponible para acompaar esta serie de
tutoriales.
En este tutorial, modificar la interfaz de usuario de la aplicacin web por defecto para apoyar a las
caractersticas de la Wingtip Toys tienda de aplicaciones frente. Adems, agregar la navegacin
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:

Cmo cambiar la interfaz de usuario para soportar caractersticas de la aplicacin frente de la


tienda Wingtip Toys.
Cmo configurar un elemento HTML5 para incluir la pgina de navegacin.

Cmo crear un control basado en datos para navegar a datos especficos de productos.
Cmo visualizar datos de una base de datos creada utilizando Entity Framework Primer Cdigo.

ASP.NET Web Forms permiten crear contenido dinmico para la aplicacin web. Cada Pgina Web
ASP.NET se crea de una manera similar a una pgina Web HTML esttica (una pgina que hace No
incluye el procesamiento basado en servidor), pero la pgina Web ASP.NET incluye elementos
adicionales que ASP.NET reconoce y procesos para generar HTML cuando la pgina se ejecuta.
Con una pgina HTML esttica (.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 pgina
Web ASP.NET (.aspx Archivo), la pgina se ejecuta como un programa en el servidor Web.
Mientras que la pgina est en funcionamiento, lo que puederealizar cualquier tarea que su sitio
Web requiere, incluyendo el clculo de los valores, leer o escribir informacin de la base de datos,
o llamar a otros programas. Como su salida, la pgina produce de forma dinmica marcado (como
elementos en HTML) y enva esta salida dinmica para el navegador.

Modificacin de la interfaz de usuario


Tendr que continuar esta serie de tutoriales modificando el Default.aspx pgina. Va a modificar la
interfaz de usuarioeso ya est establecido por la plantilla predeterminada que se utiliza para crear
la aplicacin. El tipo de modificaciones que va a hacer son tpicos al crear cualquier aplicacin Web
Forms. Que va a hacer esto cambiar el ttulo, en sustitucin de algunos contenidos, y la
eliminacin de contenido por defecto que no sean necesarios.
1. Abra o cambie a la Default.aspx pgina.
2. Si aparece la pgina en Diseo de vista, cambiar a Fuente vista.
3. En la parte superior de la pgina en la directiva @ Page, cambie el atributo Ttulo de
"Bienvenido", como se muestra resaltado en amarillo a continuacin.

Pgina 45
4. Tambin en la Default.aspx pgina, reemplace todo el contenido por defecto que figura en
el<asp: Content> etiqueta de modo que el margen de beneficio aparece como a continuacin.

5. Guarde el Default.aspx pgina seleccionando Guardar Default.aspx del Archivo men.


El resultado Default.aspx pgina aparecer de la siguiente manera:

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


visualizado en un navegador, el cdigo del servidor <%: Page.Title%> resuelve al contenido
contenida en el atributo Title.
La pgina de ejemplo incluye los elementos bsicos que constituyen una pgina Web
ASP.NET. La pagina contiene texto esttico como se puede tener en una pgina HTML, junto
con elementos que son especficos de ASP.NET. El contenido incluido en el Default.aspx
pgina se integrar con el maestrocontenido de la pgina, que se explicar ms adelante en
este tutorial.

Directivapage
ASP.NET Web Forms suelen contener directrices que permiten especificar las propiedades de
pgina y informacin de configuracin de la pgina. Las directivas son utilizados por ASP.NET
como instrucciones para cmo procesar la pgina, pero no se rindi, como parte del margen
de beneficio que se enva a la navegador.
La directiva ms utilizada es la directiva @ Page, que le permite especificar muchas opciones
de configuracin de la pgina, incluyendo las siguientes:
El lenguaje de programacin de servidor de cdigo en la pgina, como C #.
Si la pgina es una pgina con cdigo de servidor directamente en la pgina, que se
llama una pgina de un solo archivo, o si se trata de una pgina con cdigo en un
archivo de clase independiente, que se llama una La pgina de cdigo subyacente.
Pgina 46

Si la pgina tiene una pgina principal asociado y por lo tanto debe ser tratada como
una pgina de contenido.
Depuracin y opciones de bsqueda.

Si no se incluye una directiva @ Page en la pgina, o si la directiva no incluye una configuracin


especfica, la configuracin se hereda del Web.config archivo de configuracin o de
laMachine.config archivo de configuracin. El Machine.config archivo proporciona una
configuracin adicionalajustes a todas las aplicaciones que se ejecutan en una mquina.
Nota
El Machine.config tambin proporciona detalles sobre todas las opciones de configuracin
posibles.

Controles de servidor Web


En la mayora de las aplicaciones ASP.NET Web Forms, agregar los controles que permiten al
usuario interactuar con la pgina, 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 cdigo de servidor para
establecer sus propiedades. Estos controles tambin plantean eventos que se pueden manejar en
cdigo del servidor.
Los controles de servidor utilizan una sintaxis especial que ASP.NET reconoce cuando la pgina 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. Adems de la asp: prefijo, controles
de servidor ASP.NET tambin incluyen la atributo runat = "server" y un identificador que se puede
utilizar para hacer referencia al control en el cdigo del servidor.
Cuando la pgina se ejecuta, ASP.NET identifica los controles de servidor y ejecuta el cdigo que
est asociado con esos controles. Muchos controles hacen algo de HTML u otro marcado en la
pgina cuando se trata visualizado en un navegador.

Cdigo servidor
La mayora de las aplicaciones ASP.NET Web Forms incluyen cdigo que se ejecuta en el servidor
cuando la pgina es procesada. Como se mencion anteriormente, el cdigo de servidor se puede
utilizar para hacer una variedad de cosas, tales como aadiendo 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 cdigo de servidor para una pgina Web. En el
modelo de un solo archivo, el cdigo de la pgina est en un elemento de guin donde la etiqueta
de apertura incluye la atributo runat = "server". Alternativamente, se puede crear el cdigo de la
pgina en un separada archivo de clase, lo que se conoce como el modelo de cdigo subyacente.
En este caso, los formularios Web ASP.NET Pgina general no contiene cdigo de servidor. En lugar
de ello, la directiva @ Page incluye informacin que une el .aspx pgina con su cdigo subyacente
asociado archivo.
Pgina 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 cdigo
subyacente que corresponde a la pgina.

Actualizacin de la pgina maestra


En ASP.NET Web Forms, pginas maestras permiten crear un diseo consistente para las pginas
su aplicacin. Una sola pgina maestra define la apariencia y el comportamiento estndar que
desear para todas las pginas (o un grupo de pginas) en su aplicacin. A continuacin, puede
crear pginas de contenido individuales que contienen el contenido que desea mostrar, como se

explic anteriormente. Cuando los usuarios solicitan las pginas de contenido, ASP.NET que se
funde con la pgina maestra para producir salida que combina el diseo de la pgina principal con
el contenido de la pgina de contenidos.
El nuevo sitio necesita un solo logotipo para mostrar en cada pgina. Para aadir este logo, se
puede modificar el HTML en la pgina maestra.
1. En el Explorador de soluciones, encontrar y abrir la Site.Master pgina.
2. Si la pgina est en Diseo de vista, cambiar a Fuente vista.
3. Actualizacin de la pgina maestra por modificar o aadir el marcado resaltado en amarillo:

Pgina 48

Pgina 49

Este HTML mostrar la imagen con el nombre logo.jpg Del Imgenes carpeta de la aplicacin
web,que va a aadir ms tarde. Cuando una pgina que utiliza la pgina 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 pgina. La etiqueta de anclaje HTML <a> envuelve el control de servidor de
imgenes y permite que la imagen sea incluido como parte del enlace. El atributo href de la
etiqueta de anclaje especifica la raz " ~/ " de El Sitio Web como la ubicacin del enlace. Por
defecto, el Default.aspx se visualiza la pgina cuando el usuarionavega a la raz del sitio Web. La
imagen <asp: Imagen> control de servidor incluye adems propiedades, como BorderStyle, que
hacen como HTML cuando se muestra en un navegador.

Pginas Maestras
Una pgina maestra es un archivo de ASP.NET con el .master extensin (por ejemplo, Site.Master)
con undiseo predefinido que puede incluir texto esttico, los elementos HTML y controles de
servidor. El maestro pgina se identifica por una directiva @Master especial que sustituye a la
directiva @ Page que se utiliza para los ordinarios .aspx pginas.
Adems de la directiva @Master, la pgina principal tambin contiene toda la de nivel superior
HTML elementos para una pgina, como html, cabeza y forma. Por ejemplo, en la pgina principal
se agregado anteriormente, se utiliza una tabla HTML para el diseo, un elemento img para el
logotipo de la empresa, texto esttico, y el servidor de controles para manejar la pertenencia
comn para su sitio. Puede utilizar cualquiera HTML y cualquier elemento de ASP.NET, como parte
de su pgina principal.
Adems de texto esttico y controles que aparecer en todas las pginas, la pgina principal
tambin incluye uno o ms ContentPlaceHolder controles. Estos controles de marcador de
posicin definen regiones dondeaparecer contenido reemplazable. A su vez, el contenido
reemplazable est definido en las pginas de contenido, como Default.aspx, utilizando el
contenido del control de servidor.

Archivos Adicin de Imagen


La imagen del logotipo que se hace referencia ms arriba, junto con todas las imgenes del
producto, se debe agregar a la aplicacin web para que puedan ser vistos cuando el proyecto se
muestra en un navegador.

Descargar de MSDN sitio de Muestras:


Primeros pasos con ASP.NET 4.5 Web Forms y Visual Studio 2013 - Wingtip Toys (C #)
Pgina 50
La descarga incluye recursos en el WingtipToys-Activos carpeta que se utilizan para crear
laaplicacin de ejemplo.
1. Si an 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 mquina.
3. Busque y abra la WingtipToys-Activos carpeta.
4. Al arrastrar y soltar, copiar el Catlogo carpeta desde la carpeta local a la raz delel proyecto de
aplicacin Web en el Explorador de soluciones de Visual Studio.

5. A continuacin, cree una nueva carpeta denominada Imgenes 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 Imgenes carpeta del proyecto de aplicacin Web en el Explorador de soluciones de Visual
Studio.
7. Haga clic en el Mostrar todos los archivos opcin en la parte superior del Explorador de
soluciones para actualizar la lista de archivossi usted no ve los archivos nuevos.

Pgina 51
Explorador de soluciones ahora muestra los archivos de proyecto actualizadas.

Adicin de pginas
Antes de aadir navegacin para la aplicacin Web, primero agrega dos nuevas pginas que usted
va a navegar a. Ms adelante en esta serie de tutoriales, podrs visualizar los productos y los
detalles del producto en estos nuevos pginas.
1. En el Explorador de soluciones, haga clic con WingtipToys, haga clic en Agregar y, a
continuacin, haga clic en Nuevo elemento.
El Agregar nuevo elemento se muestra el cuadro de dilogo.
Pgina 52
2. Seleccione el Visual C # -> Web grupo de plantillas a la izquierda. A continuacin, seleccione
Web Form con Pgina maestra de la lista central y el nombre ProductList.aspx.

3. Seleccione Site.Master para adjuntar la pgina maestra a la recin creada .aspx pgina.

3. Agregue una pgina adicional llamada ProductDetails.aspx siguiendo estos mismos pasos.

Actualizacin de Manos a la Obra


Pgina 53

El estudio 2013 plantillas de proyecto de Visual utilizan Manos a la Obra , Un marco de diseo y
tematizacin creado por Twitter. Bootstrap utiliza CSS3 para proporcionar el diseo de respuesta,
lo que significa que los diseos pueden adaptarse dinmicamente a diferentes tamaos de
ventana del navegador. Tambin puede usar la tematizacin de Manos a la Obra funcin para
efectuar fcilmente un cambio en el aspecto de la aplicacin y la sensacin. Por defecto, la Web
ASP.NET Plantilla de aplicacin en Visual Studio 2013 incluye Bootstrap como un paquete NuGet.
En este tutorial, usted va a cambiar apariencia de la aplicacin 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 localizacin.
5. En el explorador, vaya a http://Bootswatch.com.
6. Desplcese 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.
Pgina 54

8. En Visual Studio en la parte superior del Explorador de soluciones, seleccione el Mostrar todos
los archivos opcin 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
Pgina 55
cada nombre de archivo aparece atenuado. Esto significa que el archivo an no ha sido aadido a
la proyecto.
9. Haga clic en el bootstrap.css y los bootstrap.min.css archivos y seleccione Incluir En Proyecto.

Al ejecutar la aplicacin Wingtip Toys ms adelante en este tutorial, la nueva interfaz de usuario se
mostrar.
Nota
La plantilla de aplicacin Web ASP.NET utiliza el Bundle.config archivo en la raz del proyecto
paraalmacenar la ruta de los archivos de Bootstrap CSS.

Modificacin de la navegacin por defecto


La navegacin por defecto para todas las pginas de la aplicacin se puede modificar cambiando la
desordenada elemento de la lista de navegacin que hay en la Site.Master pgina.
1. En el Explorador de soluciones, busque y abra la Site.Master pgina.
2. Aadir el enlace de navegacin adicional resaltada en amarillo a la lista desordenada muestra a
continuacin:

Como se puede ver en el cdigo HTML anterior, modific cada lnea <li> que contiene una etiqueta
de anclaje <a> con un atributo de enlace href. Cada puntos href a una pgina en la aplicacin web.
en el navegador, cuando un usuario hace clic en uno de estos enlaces (como los productos), van a
navegar a lapgina de contenido en el href (como ProductList.aspx). Va a ejecutar la aplicacin en
el extremode este tutorial.
Nota
La tilde (~) se utiliza para especificar que el camino href comienza en la raz del proyecto.

Adicin de un control de datos para mostrar los datos de


navegacin
A continuacin, vamos a aadir un control para mostrar todas las categoras de la base de datos.
Cada categora actuar como un enlace a la ProductList.aspx pgina. Cuando un usuario hace clic en
un enlace de la categora en el navegador,van a navegar a la pgina de productos y ver slo los
productos asociados a la seleccionada categora.
Vamos a usar un ListView control para mostrar todas las categoras que figuran en la base de
datos. Para agregar unListView control a la pgina principal:
1. En el Site.Master pgina, agregue el resaltado <div> elemento siguiente despus de la etiqueta
<div>elemento que contiene el id = "TitleContent" que agreg anteriormente:
Pgina 56

Este cdigo mostrar todas las categoras de la base de datos. Los ListView control muestra cada
unonombre de la categora como texto de enlace e incluye un enlace a la ProductList.aspx pgina
con una cadena de consultavalor que contiene el ID de la categora. Al establecer la propiedad
ItemType en el ListView control, la expresin artculo 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 cdigo est
contenido dentro del contenedor <% #:%> que marca una expresin de enlace de datos. Mediante
la adicin de la (:) para el final de la <% # prefijo, el resultado de la expresin de enlace de datos es
el HTML con codificacin. Cuando se codifica en HTML el resultado, su aplicacin est mejor
protegido contra la inyeccin de cross-site guin (XSS) y la inyeccin HTML ataques.
Consejo
Cuando se agrega el cdigo escribiendo durante el desarrollo, usted puede estar seguro de que un
miembro vlido de un objeto se encuentra porque los controles de datos inflexible muestran los
miembros disponibles basados en IntelliSense. IntelliSense ofrece opciones de cdigo al contexto
apropiado a medida que escribe cdigo, como propiedades, mtodos y objetos.
En el siguiente paso, se le aplicar el mtodo 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 cdigo detrs del Site.Master.cs archivo.
1. En el Explorador de soluciones, haga clic en el Site.Master pgina y luego haga clic en Ver
cdigo. 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:

Pgina 57

4. Agregue el mtodo GetCategories destac despus el controlador de eventos Page_Load


como de la siguiente manera:

Se ejecuta el cdigo de seguridad cuando cualquier pgina que utiliza la pgina 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 mtodo GetCategories, se
muestra arriba. El ListView control de llama al mtodo GetCategories en el momento adecuado en
el ciclo de vida de la pgina y se une de forma automtica los datos devueltos. Usted aprender
ms sobre el enlace de datos en la siguiente tutorial.

Ejecutar la aplicacin y creacin de la base de datos


A principios de esta serie de tutoriales que ha creado una clase de inicializacin (llamado
"ProductDatabaseInitializer") y especificado esta clase en el global.asax.cs archivo. El Entity
Framework generar la base de datoscuando la aplicacin se ejecuta la primera vez porque el
mtodo Application_Start contena en el global.asax.cs archivo llamar la clase inicializador. La
clase de inicializacin utilizar el modelo de clases(Categora 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 pgina y seleccione Establecer
como pgina de inicio.
2. En Visual prensa Estudio F5.
Tomar un poco de tiempo para preparar todo en esta primera ejecucin.
Pgina 58

Al ejecutar la aplicacin, la aplicacin se compilar y la base de datos el nombre wingtiptoys.mdf


se crear en el App_Data carpeta. En el navegador, ver unamen de navegacin categora. Este
men se ha generado por la recuperacin de las categoras de la base de datos. En el siguiente
tutorial, poner en prctica la navegacin.
3. Cierre el navegador para detener la aplicacin en ejecucin.

Revisar la base de datos


Abra el Web.config archivo y ver la seccin de cadena de conexin. Usted puede ver que
elAttachDBFileName valor en los puntos de cadena de conexin a la DataDirectory para la Web
proyecto de aplicacin. 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
Pgina 59
Si el App_Data carpeta no es visible o si la carpeta est vaca, seleccione la actualizacin de icono y
despus el Mostrar todos los archivos de iconos en la parte superior del Explorador de soluciones

ventana. La ampliacin 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, vase la nota anterior.
2. Si el wingtiptoys.mdf archivo de base de datos no est visible, seleccione la actualizacin 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.


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

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 Definicin.
Pgina 61
El diseo de datos para la los productos se muestra la tabla.

9. En el T-SQL pestaa podrs ver la sentencia SQL DDL que se utiliz para crear la tabla.Tambin
puede utilizar la interfaz de usuario en el diseo de ficha para modificar el esquema.
10. En el Explorador de servidores, haga clic WingtipToys base de datos y seleccione Cerrar
conexin.Por separacin de la base de datos desde Visual Studio, el esquema de base de datos
ser capaz de estar modificada ms adelante en esta serie de tutoriales.
11. Volver al Explorador de soluciones, seleccione el Explorador de soluciones pestaa en la parte
inferior de laExplorador de servidores ventana.

Sumario
En este tutorial de la serie que ha aadido algunos bsicos de interfaz de usuario, grficos,
pginas, y la navegacin. Adems, se ejecut la aplicacin web, que cre la base de datos de las
clases de datos que agreg en el tutorial anterior. Usted tambin vieron el contenido de la
Productos mesa delbase de datos mediante la visualizacin de la base de datos directamente. En
el siguiente tutorial, podrs visualizar los elementos de datos y detalles de la base de datos.

Recursos adicionales
Pgina 62
Introduccin a la programacin ASP.NET Web Pages S
ervidor Web ASP.NET Controles general
CSS Tutorial
Pgina 63

Elementos de la pantalla de datos y detalles


Esta serie tutorial te ensear los fundamentos de la construccin de una aplicacin 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 # cdigo est disponible para acompaar esta serie de
tutoriales.
Este tutorial describe cmo mostrar los elementos de datos y detalles de elementos de datos
usando Web ASP.NET Formas y Entity Framework Primer Cdigo. Este tutorial se basa en el
anterior tutorial interfaz de usuario "y Navegacin "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 pgina y detalles acerca de unproducto individual en la ProductDetails.aspx
pgina.

Lo que aprender:
Cmo agregar un control de datos para mostrar los productos de la base de datos.
Cmo conectar un control de datos para los datos seleccionados.
Cmo agregar un control de datos para mostrar los detalles del producto a partir de la base de
datos.

Cmo 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 caractersticas introducidas en el tutorial:


La unin Modelo
proveedores de valor

Adicin 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
ms opciones comunes incluyen la adicin de un control de origen de datos, aadiendo cdigo a
mano, o utilizando el modelo Unin.

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


Adicin 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
programtico.

Codificacin a mano para enlazar datos


Adicin de cdigo a mano consiste en leer el valor, la comprobacin de un valor nulo, el intento de
convertirlo en el tipo apropiado, comprobar si la conversin se ha realizado correctamente, y por
ltimo, utilizando el valor en la consulta. Se podra utilizar este mtodo cuando se necesita para
mantener el control total sobre la lgica de acceso a datos.

Usando Encuadernacin Modelo para enlazar datos


Pgina 64
Usando vinculante modelo le permite enlazar los resultados utilizando menos cdigo y le da la
capacidad de reutilizar la funcionalidad a travs de su aplicacin. Objetivos para simplificar el
trabajo de unin Modelo con la lgica de acceso a datos en cdigo 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 unin 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 mtodo en el cdigo de la pgina. El control de
datos llama al mtodo en el momento adecuado en la vida de la pgina ciclo y automticamente
une los datos devueltos. No hay necesidad de llamar explcitamente al DataBind mtodo.
El uso de estos pasos, podrs modificar el margen de beneficio en el ProductList.aspx pgina para
que la pginapuede mostrar los productos.

1. En el Explorador de soluciones, abra el ProductList.aspx pgina.


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

Pgina 65

Este cdigo 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 pgina de datos, todo ello sin cdigo.
Pgina 66

Al establecer la propiedad ItemType en el ListView control, la expresin de artculos 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 Artculo objetar el uso de IntelliSense, como
especifica el producto:

Adems, est utilizando el modelo de unin para especificar un valor SelectMethod. Este valor
(GetProducts) se correspondern con el mtodo que va a agregar al cdigo subyacente para
mostrar productos en el siguiente paso.

Agregar cdigo para mostrar los productos


En este paso, agregar cdigo para rellenar el ListView de control con datos de los productos de la
base de datos. El cdigo apoyar mostrando productos por categora individual, as como mostrar
todo productos.
1. En el Explorador de soluciones, haga clic con ProductList.aspx y luego haga clic en Ver cdigo.
2. Reemplace el cdigo existente en los ProductList.aspx.cs archivo con el siguiente cdigo:

Pgina 67

Este cdigo muestra el mtodo GetProducts que se hace referencia en el hotel ItemType del
ListView control en el ProductList.aspx pgina. Para limitar los resultados a una categora
especfica en elbase de datos, el cdigo establece el valor IdCategora a partir del valor de cadena
de consulta pasa al ProductList.aspx pgina cuando el ProductList.aspx pgina 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 Identificacin . Esto indica vinculante
modelo para tratar de obligar a un valor de la cadena de consulta para el parmetro IdCategora
en tiempo de ejecucin.
Cuando una categora vlida se pasa como una cadena de consulta de la pgina, los resultados de
la consulta son limitado a esos productos en la base de datos que coinciden con el valor
IdCategora. Por ejemplo, si el URL para la ProductsList.aspx pgina es la siguiente:

La pgina slo muestra los productos en los que la categora es igual a 1.


Si no hay cadena de consulta se incluye cuando se navega a la ProductList.aspx pgina, todos los
productos sern visualizado.
Las fuentes de valores para estos mtodos se conocen como proveedores de valor (tales como
cadena de consulta),y los atributos de parmetro 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 tpicas de entrada del usuario en una aplicacin
Web Forms, como el cadena de consulta, las galletas, los valores de formulario, los controles, el
estado de vista, el estado de sesin, y las propiedades de perfil. usted Tambin puede escribir
proveedores de valor personalizados.

Ejecutar la aplicacin
Ejecutar la aplicacin ahora para ver cmo se puede ver todos los productos o slo un conjunto de
productos limitado por categora.
1. En el Explorador de soluciones, haga clic en el Default.aspx pgina y seleccione Ver en el
explorador.El navegador se abrir y mostrar el Default.aspx pgina.

2. Seleccione Coches en el men de navegacin de la categora de producto.El ProductList.aspx se


muestra la pgina que muestra slo los productos incluidos en los "Cars"
Pgina 68
categora. Ms adelante en este tutorial, se le mostrar los detalles del producto.

3. Seleccione los productos desde el men de navegacin en la parte superior.De nuevo, el


ProductList.aspx se muestra la pgina, sin embargo esta vez se muestra toda la lista de
Pgina 69
productos.

4. Cierre el navegador y volver a Visual Studio.


Pgina 70

Adicin de un control de datos para mostrar los detalles del


producto
A continuacin, podrs modificar el margen de beneficio en el ProductDetails.aspx pgina que
agreg en el anteriortutorial para que la pgina puede mostrar informacin sobre un producto
individual.
1. En el Explorador de soluciones, abra el ProductDetails.aspx pgina.
2. Vuelva a colocar el marcado existente con el siguiente marcado:

Este cdigo utiliza un FormView de control para visualizar detalles sobre un producto individual.
Este margen de beneficioutiliza mtodos como los que se utilizan para mostrar los datos en la
ProductList.aspx pgina. 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 edicin. los plantillas contienen controles, expresiones de unin, 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 cdigo
adicional para la ProductDetails.aspx cdigo.
Pgina 71
1. En el Explorador de soluciones, haga clic con ProductDetails.aspx y luego haga clic en Ver
cdigo.El ProductDetails.aspx.cs se mostrar archivo.
2. Reemplace el cdigo existente con el siguiente cdigo:

Este cdigo comprueba si hay una "productID" valor de la consulta cuerdas. Si no se encuentra un
valor de cadena de consulta vlida, se muestra el producto encontrado. Si no hay cadena de
consulta se encuentra, o el valor de cadena de consulta no es vlido, ningn producto se muestra
en la ProductDetails.aspx pgina.

Ejecutar la aplicacin
Ahora se puede ejecutar la aplicacin para ver un producto individual desplegados basndose en
la identificacin de la producto.
1. Presione F5 mientras que en Visual Studio para ejecutar la aplicacin.El navegador se abrir y
mostrar el Default.aspx pgina.
2. Seleccione "Barcos" en el men de navegacin de la categora. El ProductList.aspx se muestra la
pgina.
Pgina 72
3. Seleccione el "Barco de papel" producto de la lista de productos. El ProductDetails.aspx se
muestra la pgina.

4. Cierre el explorador.

Sumario
En este tutorial de la serie que tiene agregar marcado y el cdigo 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 aadir un carrito de compras para la aplicacin de ejemplo Wingtip Toys.

Recursos adicionales
Recuperar y mostrar los datos con el modelo de unin y formularios web
Pgina 73

Carrito de compras
Esta serie tutorial te ensear los fundamentos de la construccin de una aplicacin 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 # cdigo est disponible para acompaar esta serie de
tutoriales.
Este tutorial describe la lgica de negocio necesaria para aadir 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 aplicacin de ejemplo sern capaces de
aadir, eliminar y modificar los productos en su carrito de compras.

Lo que aprender:

Cmo crear un carrito de la compra para la aplicacin web.


Cmo permitir a los usuarios agregar elementos a la cesta de la compra.
Cmo aadir un GridView control para mostrar cesta de la compra detalles.
Cmo calcular y mostrar el total del pedido.
Cmo quitar y artculos de actualizacin en el carrito de compras.
Cmo incluir un contador de carrito de compras.

Cdigo dispone en este tutorial:


Entity Framework Primer Cdigo
Datos Anotaciones
controles de datos fuertemente tipado
vinculante Modelo

Creacin de una cesta de la compra


A principios de esta serie de tutoriales, que ha aadido pginas y el cdigo 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 estn interesados en comprar. Los usuarios sern
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 sesin de ASP.NET.
Nota
El estado de sesin de ASP.NET es un lugar conveniente para almacenar informacin especfica del
usuario que va a caducar cuando el usuario sale del sitio. Mientras que el uso indebido de estado
de sesin puede tener un rendimiento implicaciones en los sitios ms grandes, el uso de la luz de
estado de sesin funciona bien para fines de demostracin. El proyecto de ejemplo Wingtip Toys
muestra cmo utilizar el estado de sesin sin un proveedor externo, donde se almacena el estado
de sesin en proceso en el servidor web que aloja el sitio. Para los sitios ms grandes que
Pgina 74
proporcionar mltiples instancias de una aplicacin o de los sitios que se ejecutan varias instancias
de un aplicacin en diferentes servidores, considere el uso de Windows Azure Servicio de cach.
Esta cachServicio ofrece un servicio de almacenamiento en cach distribuida que es externo a la
pgina web y resuelve el problema de utilizar el estado de sesin en proceso. Para obtener ms
informacin, consulte Cmo utilizar ASP.NET Estado de la sesin con el Windows Azure Sitios Web.

Aadir CartItem como modelo Clase


A principios de esta serie de tutoriales, que ha definido el esquema para los datos de categora y
de productos por la creacin de la categora de producto y las clases en el Modelos carpeta. Ahora,

agregue una nueva clase dedefinir el esquema para el carrito de compras. Ms adelante en este
tutorial, agregar una clase para manejar datos acceso a la tabla CartItem. Esta clase
proporcionar la lgica de negocio para agregar, quitar, y artculos de actualizacin en el carrito de
compras.
Haga clic con el Modelos carpeta y seleccione Agregar -> Nuevo elemento.

Pgina 75
El Agregar nuevo elemento se muestra el cuadro de dilogo. Seleccione Cdigo y, a continuacin,
seleccione la clase.

Nombre esta nueva clase CartItem.cs.


Haga clic en Agregar.
El nuevo archivo de clase se muestra en el editor. Reemplace el cdigo predeterminado con el
siguiente cdigo:

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 convencin, Entity Framework Primer Cdigo espera que la clave principal para
la Mesa CartItem ser o CartItemId o ID. Sin embargo, el cdigo anula por defecto
Pgina 76

comportamiento mediante la anotacin 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 aadir cdigo para crear este ID de usuario cuando el usuario accede a la cesta de la
compra. Este ID ser tambin se almacena como una variable de sesin de ASP.NET.

Actualizar el Contexto del producto


Adems 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 recin 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 cdigo resaltado a la ProductContext.cs archivo de la siguiente manera:

Como se mencion anteriormente en esta serie de tutoriales, el cdigo en el ProductContext.cs


archivo aade 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 aade el acceso a la recin agregado clase del modelo CartItem.

La gestin de la cesta de la compra de lgica de negocios


A continuacin, vamos a crear la clase ShoppingCart en una nueva lgica carpeta. La clase
ShoppingCartmaneja el acceso a datos de la tabla CartItem. La clase tambin incluir la lgica de
negocio para agregar, eliminar y actualizar los elementos de la cesta de la compra.
El carrito de compras lgica que va a agregar contendr la funcionalidad para gestionar la
siguiente acciones:
1. La adicin de artculos a la cesta de la compra
2. Eliminacin de artculos de la cesta de compras

3. Obtener la cesta de la compra Identificacin


Pgina 77
4. Recuperacin de artculos de la cesta de la compra
5. Sumando la cantidad de todos los artculos cesta de la compra
6. Actualizacin de los datos de carrito de la compra
Una pgina del carrito de la compra (ShoppingCart.aspx) y la clase carrito de compras se utilizarn
conjuntamente paraacceso cesta de la compra de datos. La pgina del carrito de compras
mostrar todos los elementos que el usuario se suma a la carrito de compras. Adems de la pgina
de carrito de la compra y de clase, vamos a crear una pgina (AddToCart.aspx)para agregar
productos a la cesta de la compra. Tambin aadir cdigo al ProductList.aspx pgina yel
ProductDetails.aspx pgina que proporcionar un enlace a la AddToCart.aspx pgina, por lo que el
usuariopueden aadir productos a la cesta de la compra.
El siguiente diagrama muestra el proceso bsico que se produce cuando el usuario aade un
producto a la carrito de compras.

Cuando el usuario hace clic en el Aadir al Carro enlace ya sea en el ProductList.aspx pgina o
elProductDetails.aspx pgina, la aplicacin se navegue a la AddToCart.aspx pgina y
despusautomticamente a la ShoppingCart.aspx pgina. El AddToCart.aspx pgina aadir el
selectoproducto al carrito de la compra llamando a un mtodo en la clase ShoppingCart. los
ShoppingCart.aspx pgina mostrar los productos que se han aadido a la cesta de la compra.

Creacin de la cesta de la compra Clase


La clase ShoppingCart se aadir a una carpeta independiente en la aplicacin de modo que no lo
har ser una clara distincin entre la carpeta (Modelos) modelo, la (carpeta raz) pginas y la lgica
(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 Lgica.
2. Haga clic en la lgica de la carpeta y luego seleccione Agregar -> Nuevo elemento.

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


4. Reemplace el cdigo predeterminado con el siguiente cdigo:
Pgina 78

Pgina 79

El mtodo permite AddToCart productos individuales a ser incluidos en la cesta de la compra


basada sobre la identificacin del producto. El producto se aade al carro, o si el carro ya contiene
un artculo para ese producto, la cantidad se incrementa.
El mtodo GetCartId devuelve el ID de la compra para el usuario. El carro ID se utiliza para realizar
un seguimiento de los artculos 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 slo se
crea una cesta para cada usuario, basado en sesiones.
El mtodo GetCartItems devuelve una lista de cesta de la compra artculos para el usuario. Ms
adelante en este tutorial, ver la unin que el modelo se utiliza para mostrar los elementos de la
compra en el carrito de la compra utilizando el mtodo de GetCartItems.

Creacin de la funcionalidad Add-To-Cesta


Como se mencion anteriormente, se crear una pgina de procesamiento llamado
AddToCart.aspx que se utilizarpara agregar nuevos productos a la cesta de la compra del usuario.
Esta pgina llamar al AddToCart mtodo en la clase ShoppingCart que acaba de crear. El
AddToCart.aspx pgina esperarque un identificador de producto se pasa a la misma. Este ID de
producto ser utilizado cuando se llama al AddToCart mtodo en la clase ShoppingCart.
Nota
Se le modificando el cdigo subyacente (AddToCart.aspx.cs) de esta pgina, no la pgina de la
interfaz de usuario (AddToCart.aspx).

Para crear la funcionalidad Add-To-compra:


Pgina 80
1. En el Explorador de soluciones, haga clic en el WingtipToys proyecto, haga clic en Aadir ->
Nuevo elemento.El Agregar nuevo elemento se muestra el cuadro de dilogo.
2. Aadir una pgina nueva norma (Formulario Web) para la aplicacin llamada AddToCart.aspx.

3. En el Explorador de soluciones, haga clic en el AddToCart.aspx pgina y luego haga clic en Ver
cdigo. los AddToCart.aspx.cs archivo de cdigo subyacente se abre en el editor.
4. Reemplace el cdigo existente en los AddToCart.aspx.cs cdigo subyacente con lo siguiente:

Pgina 81

Cuando el AddToCart.aspx se carga la pgina, el identificador de producto se recupera de la


cadena de consulta.A continuacin, se crea una instancia de la clase carrito de la compra y se
utiliza para llamar al mtodo AddToCart que agreg anteriormente en este tutorial. El mtodo
AddToCart, contenida en el ShoppingCartActions.cs archivo, incluye la lgica para aadir el
producto seleccionado a la cesta de la comprao incrementar la cantidad de producto del producto
seleccionado. Si el producto no se ha aadido 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 aadido a la cesta de la compra y el
usuario aade un elemento adicional de la misma producto, la cantidad de producto se
incrementa en la tabla CartItem. Por ltimo, la pgina redirecciona de nuevo a la
ShoppingCart.aspx pgina que va a aadir en el paso siguiente, en el que el usuario ve unlista
actualizada de los artculos en el carro.
Como se mencion anteriormente, un ID de usuario se utiliza para identificar los productos que se
asocian con una usuario especfico. Este ID se agrega a una fila de la tabla CartItem cada vez que el
usuario agrega una producto al carrito de compras.

Creacin de la interfaz de usuario de Compras


El ShoppingCart.aspx pgina mostrar los productos que el usuario ha agregado a su carritola
compra. Tambin ofrecer la posibilidad de aadir, quitar y actualizar los elementos en el carrito
de compras.
1. En el Explorador de soluciones, haga clic con WingtipToys, haga clic en Aadir -> Nuevo
elemento.El Agregar nuevo elemento se muestra el cuadro de dilogo.
2. Aadir una nueva pgina (formulario web) que incluye una pgina principal seleccionando
formulario Web utilizando Pgina Maestra. Nombre de la pgina nueva ShoppingCart.aspx.
3. Seleccione Site.Master para adjuntar la pgina maestra a la recin creada .aspx pgina.
4. En el ShoppingCart.aspx pgina, vuelva a colocar el marcado existente con el siguiente marcado:

Pgina 82

El ShoppingCart.aspx pgina incluye un GridView control denominado CartList. Esta usos de


controlmodelo de unin 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 expresin de artculos
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 Mtodo GetShoppingCartItems
que devuelve una lista de objetos CartItem. El GridView datoscontrol de llama al mtodo en el
momento adecuado en el ciclo de vida de la pgina y automticamente se une los datos devueltos.
Todava hay que aadir el mtodo GetShoppingCartItems.

Recuperando las Compras Artculos


A continuacin, se agrega cdigo a los ShoppingCart.aspx.cs cdigo subyacente para recuperar y
poblar elCompras de interfaz de usuario.
1. En el Explorador de soluciones, haga clic en el ShoppingCart.aspx pgina y luego haga clic
en Ver cdigo.El ShoppingCart.aspx.cs archivo de cdigo subyacente se abre en el editor.
Reemplace el cdigo existente con el siguiente:
Pgina 83

Como se mencion anteriormente, el control de datos GridView llama al mtodo


GetShoppingCartItems en el momento adecuado en el ciclo de vida de la pgina y
automticamente une los datos devueltos. los Mtodo GetShoppingCartItems crea una instancia
del objeto ShoppingCartActions. A continuacin, el cdigo utiliza esa instancia para devolver los
artculos en el carro llamando a los GetCartItems mtodo.

Adicin de productos a la cesta de compra


Cuando sea el ProductList.aspx o ProductDetails.aspx se muestra la pgina, el usuario sercapaz de
aadir el producto al carrito de la compra mediante un enlace. Al hacer clic en el enlace, el
aplicacin navega a la pgina de procesamiento llamado AddToCart.aspx. El AddToCart.aspx
pginallamar al mtodo AddToCart en la clase ShoppingCart que agreg anteriormente en este
tutorial.
Ahora, vamos a aadir una Aadir a la cesta de enlace tanto a la ProductList.aspx pgina y
elProductDetails.aspx pgina. 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 pgina denominada ProductList.aspx.
2. Agregue el marcado resaltado en amarillo a la ProductList.aspx pgina para que todo elpgina
aparece de la siguiente manera:

Pgina 84

Pgina 85

Prueba de la cesta de la compra Ejecutar la aplicacin para ver cmo agregar productos a la cesta
de la compra.
1. Presione F5 para ejecutar la aplicacin.Despus de que el proyecto recrea la base de datos, el
navegador se abrir y mostrar el Default.aspx pgina.
2. Seleccione Coches en el men de la categora de navegacin.El ProductList.aspx se muestra la
pgina que muestra slo los productos incluidos en los "Cars"
Pgina 86
categora.

Pgina 87
3. Haga clic en el Aadir a la Cesta enlace al lado del primer producto de la lista (el coche
convertible).El ShoppingCart.aspx se muestra la pgina, mostrando la seleccin en su carrito de
compras.

4. Ver productos adicionales mediante la seleccin de aviones en el men Navegacin de la


categora.
5. Haga clic en el Aadir a la Cesta enlace al lado del primer producto de la lista.El
ShoppingCart.aspx pgina se muestra con el artculo adicional.
6. Cierre el explorador.

Clculo y visualizacin de la Orden total


Adems de agregar productos a la cesta de la compra, agregar un mtodo getTotal a la Clase
ShoppingCart y mostrar la cantidad total del pedido en la pgina de carrito de compras.
1. En el Explorador de soluciones, abra el ShoppingCartActions.cs archivo en la lgica de la carpeta.
2. Agregue el siguiente mtodo getTotal resaltado en amarillo a la clase ShoppingCart, para que la
clase aparece como sigue:

Pgina 88

Pgina 89

En primer lugar, el mtodo getTotal obtiene el ID de la cesta de la compra para el usuario. A


continuacin, el mtodo obtiene el carro totales multiplicando el precio del producto por la
cantidad de producto para cada producto enumerado en el carro.
Nota
El cdigo anterior utiliza el tipo anulable "int?". Tipos anulables pueden representar todos los
valores de una tipo subyacente, y tambin como un valor nulo. Para obtener ms informacin,
consulte Uso de tipos anulables.

Modificar el carrito de compras Pantalla


A continuacin vamos a modificar el cdigo para el ShoppingCart.aspx pgina a llamar al mtodo
getTotal ymostrar ese total en el ShoppingCart.aspx pgina cuando se carga la pgina.
1. En el Explorador de soluciones, haga clic en el ShoppingCart.aspx pgina y seleccione Ver
cdigo.
2. En el ShoppingCart.aspx.cs archivos, actualizar el manejador Page_Load aadiendo lo
siguientecdigo resaltado en amarillo:

Pgina 90

Cuando los ShoppingCart.aspx pgina se carga, se carga el objeto carrito de la compra y luego
recupera lacarrito de la compra total de llamando al mtodo getTotal de la clase ShoppingCart. Si
el cesta de la compra est vaca, se mostrar un mensaje en este sentido.

Prueba de la cesta de la compra total


Ejecutar la aplicacin ahora para ver cmo no slo 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 aplicacin.El navegador se abrir y mostrar el Default.aspx pgina.
2. Seleccione Coches en el men de la categora de navegacin.
Pgina 91

3. Haga clic en el Aadir al carro enlace al lado del primer producto.El ShoppingCart.aspx pgina se
muestra con el total del pedido.

4. Agregue algunos otros productos (por ejemplo, un avin) a la compra.


Pgina 92
5. El ShoppingCart.aspx pgina se muestra con un total de actualizacin para todos los
productosque ha aadido.
6. Detener la aplicacin se ejecuta al cerrar la ventana del navegador.

Adicin Actualizar y Pedido Botones a la cesta de compra


Para permitir a los usuarios modificar la cesta de la compra, se le agrega una actualizacin de
botn y un Pedido botn a la pgina del carrito de compras. El Pedido botn no se utiliza hasta
ms adelante en este tutorial serie.
En el Explorador de soluciones, abra el ShoppingCart.aspx pgina en la raz de la webproyecto de
aplicacin.
Para agregar la actualizacin de botn y el Pedido botn a la ShoppingCart.aspx pgina, aadirel
marcado resaltado en amarillo a la marca existente, como se muestra en el siguiente cdigo:

Pgina 93

Cuando el usuario hace clic en la actualizacin de botn, el controlador de eventos


UpdateBtn_Click se llamar.Este controlador de eventos llama al cdigo que va a aadir en el paso
siguiente.
A continuacin, puede actualizar el cdigo contenido en las ShoppingCart.aspx.cs presentar para
recorrer lacesta productos y llaman a los mtodos RemoveItem y UpdateItem.
1. En el Explorador de soluciones, abra el ShoppingCart.aspx.cs archivo en la raz de la
webproyecto de aplicacin.
2. Agregue el siguiente cdigo de secciones resaltadas en amarillo a la ShoppingCart.aspx.cs
archivo:

Pgina 94

Pgina 95
Cuando el usuario hace clic en la actualizacin de botn en la ShoppingCart.aspx pgina, los
UpdateCartItemsse llama al mtodo. El mtodo UpdateCartItems obtiene los valores actualizados
para cada elemento de la carrito de compras. Entonces, el mtodo llama a la
UpdateShoppingCartDatabase UpdateCartItems mtodo (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 pgina de cesta de la compra llamando al mtodo DataBindpara el GridView.
Adems, el importe total del pedido en la pgina de carro de compras se ha actualizado para
reflejarla lista actualizada de artculos.

Actualizacin y supresin de Compras Artculos


Por ShoppingCart.aspx pgina, usted puede ver los controles se han aadido para la actualizacin
delcantidad de un artculo y la eliminacin de un elemento. Ahora, agregue el cdigo que har que
estos controles trabajo.
1. En el Explorador de soluciones, abra el ShoppingCartActions.cs archivo en la lgica de la
carpeta. Agregue el siguiente cdigo resaltado en amarillo a la ShoppingCartActions.cs
archivo de clase:

Pgina 96

Pgina 97

Pgina 98

El mtodo UpdateShoppingCartDatabase, llamado desde el mtodo UpdateCartItems en el


ShoppingCart.aspx.cs pgina, contiene la lgica para actualizar o eliminar elementos de lacarrito
de compras. El mtodo itera UpdateShoppingCartDatabase a travs 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 mtodo RemoveItem se llama. De lo contrario, el
elemento del carro de compras se comprueba si hay actualizaciones cuando se llama al mtodo
UpdateItem. Despus 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 Mtodo UpdateShoppingCartDatabase utiliza la estructura ShoppingCartUpdates a
determinar si alguno de los artculos necesitan ser actualizados o eliminados.
En el siguiente tutorial, utilizar el mtodo EmptyCart despejar el carrito de la compra despus
productos de compra. Pero por ahora, que va a utilizar el mtodo GetCount que acaba de agregar
a los ShoppingCartActions.cs archivo para determinar cuntos elementos estn en el carrito de
compras.

Adicin de un contador de Compras

Para permitir al usuario ver el nmero total de elementos en el carro de compras, usted agregar
un contador a la Site.Master pgina. Este contador tambin actuar como un vnculo a la cesta de
la compra.
Pgina 100
1. En el Explorador de soluciones, abra el Site.Master pgina.
Modificar el marcado mediante la adicin de la cesta de la compra enlace contador como se
muestra en amarillo a la seccin de navegacin por lo que aparece como sigue:

A continuacin, actualizar el cdigo subyacente del Site.Master.cs archivo aadiendo el cdigo


resaltado enamarilla de la siguiente manera:

Pgina 101

Pgina 102

Antes de que la pgina 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 Mtodo GetCount. El valor devuelto se aade a la gama de cartCount incluido en el
markup del Site.Master pgina. El <span> etiquetas permite a los elementos internos que ser
adecuadamenterendido. Cuando se visualiza cualquier pgina del sitio, se mostrar el carrito de
compras totales. los usuario tambin 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 aplicacin ahora para ver cmo 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 aplicacin.El navegador se abre y muestra el Default.aspx pgina.
2. Seleccione Coches en el men de la categora de navegacin.
3. Haga clic en el Aadir al carro enlace al lado del primer producto.El ShoppingCart.aspx pgina se
muestra con el total del pedido.
4. Seleccione Aviones en el men de la categora de navegacin.
5. Haga clic en el Aadir 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
artculo cuadro del segundo elemento comprobar.
Pgina 103
6. Haga clic en la actualizacin de botn para actualizar la pgina del carrito de la compra y
mostrar el nuevo orden totales.

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 Cdigo primer lugar, anotaciones
de datos, inflexible de tipos controles de datos, y el modelo de unin.
La cesta de la compra admite la adicin, eliminacin y actualizacin de elementos que el usuario
ha seleccionado para la compra. Adems 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.

Informacin Adicin
Sesin de Estado de ASP.NET
Pgina 104

Pedido y pago con PayPal


Esta serie tutorial te ensear los fundamentos de la construccin de una aplicacin 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 # cdigo est disponible para acompaar esta serie de
tutoriales.
Este tutorial describe cmo modificar la aplicacin de ejemplo Wingtip Toys incluir usuario
autorizacin, registro y pago a travs de PayPal. Slo los usuarios que han iniciado sesin tendrn
la autorizacin 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 aplicacin seleccionando productos para aadir al carro de compras, haga clic
en el botn 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 informacin de envo y de pago y luego volver a la muestra
local Wingtip Toys aplicacin para confirmar y completar la compra.
Hay varios procesadores de pagos de terceros experimentados que se especializan en las compras
en lnea que escalabilidad direccin y la seguridad. Desarrolladores de ASP.NET deben considerar
las ventajas de la utilizacin de una tercera solucin de pago fiesta antes de la implementacin de
un centro comercial y comprar solucin.
Nota
La aplicacin de ejemplo Wingtip Toys fue diseado para conceptos ASP.NET especfica mostradas
y caractersticas disponibles para los desarrolladores web ASP.NET. Esta aplicacin muestra no fue
optimizado para todos posibles circunstancias en cuanto a escalabilidad y seguridad.

Lo que aprender:

Cmo restringir el acceso a determinadas pginas en una carpeta.


Cmo crear un carrito de compras conocido de un annimo carrito de compras.
Cmo utilizar PayPal para comprar productos utilizando el entorno de pruebas de PayPal.
Cmo visualizar los detalles de PayPal en un DetailsView control.
Cmo actualizar la base de datos de la aplicacin Wingtip Toys con datos obtenidos de PayPal.

Adicin 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 informacin de envo,
total de la compra y el pago confirmacin.

Aadir la Orden y OrderDetail Clases Modelo


Pgina 105
A principios de esta serie de tutoriales, que defini el esquema de categoras, productos y carrito
de la compra artculos mediante la creacin de la categora, productos y clases CartItem en el
Modelos carpeta. Ahora aadir dos nuevas clases para definir el esquema para el pedido de
productos y los detalles de la orden.
1. En el Modelos carpeta, aadir una nueva clase llamada Order.cs.
El nuevo archivo de clase se muestra en el editor.
2. Reemplace el cdigo predeterminado con lo siguiente:

Pgina 106

3. Agregue un OrderDetail.cs clase al Modelos carpeta.

4. Reemplace el cdigo predeterminado con el siguiente cdigo:

Las clases Orden y OrderDetail contienen el esquema para definir la informacin de la orden
utilizada para la compra y el envo.
Adems, 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 creacin y clases del modelo OrderDetail a ProductContext clase.
1. En el Explorador de soluciones, encontrar y abrir la ProductContext.cs archivo.
2. Agregue el cdigo resaltado a la ProductContext.cs archivo como se muestra a continuacin:

Pgina 107

Como se mencion anteriormente en esta serie de tutoriales, el cdigo en el ProductContext.cs


archivo aade 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 cdigo
anterior en la clase ProductContext agrega el acceso Entity Framework a las clases Orden y
OrderDetail recin aadidos.

Adicin Pedido acceso


La aplicacin de ejemplo Wingtip Toys permite a los usuarios annimos para revisar y aadir
productos a un carrito de compras. Sin embargo, cuando los usuarios annimos optan por
comprar los productos que agregan a la cesta de la compra, se debe iniciar sesin en el sitio. Una
vez que han iniciado la sesin, pueden acceder a la pginas restringidas de la aplicacin web que
manejan el proceso de compra y venta. Estas pginas restringidas estn contenidos en el Pedido
de carpetas de la aplicacin.

Aadir una carpeta Checkout y Pginas


Ahora crear el Pedido de carpetas y las pginas en los mismos que el cliente va a ver durante
elproceso de pago. Va a actualizar estas pginas ms adelante en este tutorial.
Pgina 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.


Pgina 109
3. Haga clic en el Pedido de carpetas y seleccione Agregar -> Nuevo elemento.

4. La Agregar nuevo elemento se muestra el cuadro de dilogo.


Pgina 110
5. Seleccione el Visual C # -> Web grupo de plantillas a la izquierda. Luego, desde el panel
central,seleccione Formulario Web mediante pginas maestras y el nombre CheckoutStart.aspx.

6. Al igual que antes, seleccione el Site.Master archivo como la pgina principal.

7. Agregue las pginas adicionales siguientes al Pedido carpeta usando los mismos pasos
anteriores:

CheckoutReview.aspx
CheckoutComplete.aspx
CheckoutCancel.aspx
CheckoutError.aspx

Aadir un archivo Web.config


Mediante la adicin de un nuevo Web.config archivo al Pedido carpeta, usted ser capaz de
restringir el acceso a todos loslas pginas 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 dilogo.
2. Seleccione el Visual C # -> Web grupo de plantillas a la izquierda. Luego, desde el panel
central,seleccione Archivo de configuracin Web, acepte el nombre predeterminado de
Web.config, a continuacin, seleccione Agregar.
3. Vuelva a colocar el contenido XML existente en el Web.config archivo con el siguiente:

Pgina 111

3. Guarde el archivo Web.config archivo.


El Web.config archivo especifica que todos los usuarios desconocidos de la aplicacin web deben
ser negadosel acceso a las pginas 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 tendrn acceso a las
pginas de la Pedido carpeta.
Es importante sealar que la configuracin de ASP.NET sigue una jerarqua, donde cada
Web.config archivoaplica los ajustes de configuracin en la carpeta que est en y para todos los
directorios de los nios por debajo de ella.

Habilitacin de inicios de sesin provenientes Otros sitios mediante


OAuth y OpenID

ASP.NET Web Forms proporciona opciones mejoradas para la adhesin y la autenticacin. Estas
mejoras incluyen los nuevos OAuth y OpenID proveedores. El uso de estos proveedores, que
puedenpermiten a los usuarios inician sesin en su sitio utilizando sus credenciales existentes de
Facebook, Twitter, Windows Live, y Google. Por ejemplo, para iniciar sesin con una cuenta de
Facebook, los usuarios slo pueden elegir un Facebook opcin, que les redirige a la pgina de
inicio de sesin de Facebook donde entran sus credenciales de usuario. A continuacin, puede
asociar el inicio de sesin de Facebook con su cuenta en su sitio. Una relacionada mejora a la Web
Forms ASP.NET membresa (ASP.NET Identidad) cuenta es que los usuarios de puede asociar
mltiples 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 aplicacin, debe configurar el ID de aplicacin (clave) de valor y un valor
secreto de la aplicacin. Puede aadir estos valores al Startup.Auth.cs archivo en su web los
formularios de solicitud. Adems, debe crear una aplicacin en el sitio externo (Facebook, Twitter,
o Windows Live). Cuando t crear la aplicacin en el sitio web externo puede obtener las claves de
aplicacin que usted necesita en para invocar la funcin de inicio de sesin para esos sitios.
Nota
Aplicaciones de Windows Live slo 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 sesin de prueba.
Para los sitios que utilizan un OpenID proveedor (Google), usted no tiene que crear una aplicacin
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 lnea de cdigo resaltado en amarillo para que Google OpenID
cuentas como sigue:

Pgina 112

4. Guarde el Startup.Auth.cs archivo.


Al ejecutar la aplicacin de ejemplo Wingtip Toys, usted tendr la opcin de acceder a su Cuenta
de Google y sus asociados Juguetes Wingtip cuenta con la cuenta de Google.

Modificacin 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 pginas para llamar el mtodo
MigrateCart. El MigrateCartmtodo asocia un nuevo usuario conectado con un annimo carrito de
compras. Al asociar el usuario y la cesta de la compra, la aplicacin 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.
Pgina 113

3. Modificar la pgina de cdigo subyacente llamado Login.aspx.cs incluir el cdigo resaltado


enamarillo, de modo que aparece como sigue:

3. Guarde el Login.aspx.cs archivo.


Pgina 114
Por ahora, puede ignorar la advertencia de que no existe una definicin para el mtodo
MigrateCart. Se le agrega un poco ms adelante en este tutorial.

El Login.aspx.cs archivo de cdigo subyacente soporta un mtodo de inicio de sesin. Al


inspeccionar la pgina Login.aspx,vers que esta pgina incluye una "Entrar" botn que cuando clic
desencadena el manejador Iniciar Sesin en el cdigo subyacente.
Cuando el mtodo de inicio de sesin 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 continuacin, se llama al mtodo MigrateCart, pasando
tanto el cartId y el nombre del usuario conectado a este mtodo. Cuando el carro de compras se
migra, la GUID utiliza para identificar el anonimato carro de compras se reemplaza con el nombre
de usuario.
Adems de modificar la Login.aspx.cs archivo de cdigo subyacente para migrar el carro de
compras cuandoel usuario inicia sesin, tambin debe modificar las Register.aspx.cs archivo de
cdigo 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 cdigo subyacente llamado Register.aspx.cs.
2. Modificar el archivo de cdigo subyacente al incluir el cdigo en amarillo, para que aparezca la
siguiente manera:

Pgina 115

3. Guarde el Register.aspx.cs archivo. Una vez ms, ignorar la advertencia sobre el


MigrateCart mtodo.
Observe que el cdigo que ha utilizado en el controlador de eventos CreateUser_Click es muy
similar a la cdigo que ha utilizado en el mtodo de inicio de sesin. Cuando el usuario se
registra o registros en el sitio, una llamada a la Se har mtodo MigrateCart.

Migracin de la cesta de la compra


Ahora que tiene el proceso de inicio de sesin y registro actualizado, puede agregar el cdigo
para migrar el mtodo MigrateCart compras el carro.
1. En el Explorador de soluciones, encontrar la lgica de la carpeta y abrir el
ShoppingCartActions.cs archivo de clase.
2. Agregue el cdigo resaltado en amarillo para el cdigo existente en los
ShoppingCartActions.cs archivo, por lo que el cdigo en el ShoppingCartActions.cs archivo
aparece de la siguiente manera:

Pgina 116

Pgina 117

Pgina 118

Pgina 119

El mtodo utiliza la cartId MigrateCart existente para encontrar el carrito de la compra del usuario.
Siguiente, el cdigo 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 sesin en.

Actualizacin de la conexin con la base


Si usted est siguiendo este tutorial utilizando la prebuilt Wingtip Toys aplicacin de ejemplo,
deberecrear la base de datos de miembros defecto. Al modificar la cadena de conexin
predeterminada, el base de datos de miembros, se crear la prxima vez que la aplicacin se
ejecuta.
1. Abra el archivo Web.config archivo en la raz del proyecto.
2. Actualizacin de la cadena de conexin predeterminado para que aparezca la siguiente manera:

Integracin de PayPal
PayPal es una plataforma de facturacin basado en web que acepta pagos con los comerciantes en
lnea. Este tutorial siguiente explica cmo integrar la funcionalidad de Pago exprs de PayPal en su
aplicacin. Pago exprs permite a sus clientes utilizar PayPal para pagar los artculos que han
aadido 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 tambin permitirn la aplicacin 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 seal por las escaleras. Si usted tiene una cuenta PayPal desarrollador

existente, inicie sesin haciendo clic en Iniciar sesin. Usted necesitar su cuenta de desarrollador
de PayPal para probar los juguetes Wingtipaplicacin de ejemplo ms adelante en este tutorial.
Pgina 120
3. Si slo 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 enva a su cuenta de correo electrnico. 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 sesin 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
pgina.
Nota
El sitio de desarrollador PayPal ya proporciona una cuenta de prueba comerciante.

5. En la pgina de cuentas de prueba Sandbox, haga clic en Crear cuenta.


6. En el Crear cuenta de prueba pgina de escoger un correo electrnico cuenta de prueba
comprador y la contrasea de tu eleccin.
Nota
Usted necesitar las direcciones de correo electrnico del comprador y contrasea para probar la
muestra Wingtip Toys

Pgina 121
aplicacin al final de este tutorial.

Pgina 122

Pgina 123
7. Crear la cuenta de prueba comprador haciendo clic en el Crear Cuenta botn.La cuentas de
prueba Sandbox se muestra la pgina.

8. En la cuentas de prueba Sandbox pgina, haga clic en el facilitador cuenta de correo


electrnico.Perfil y notificacin aparecen opciones.
9. Seleccione el Perfil opcin, a continuacin, 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 clsica mostrados (nombre de usuario,
contrasea y firma) para hacer llamadas a la API de la aplicacin 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 cdigo de PayPal en una sola clase. Esta clase contiene los
mtodos utilizado para comunicarse con PayPal. Adems, se le aada sus credenciales de PayPal a
esta clase.
1. En la aplicacin de ejemplo Wingtip Toys dentro de Visual Studio, haga clic en la lgica de
carpetasa continuacin, seleccione Agregar -> Nuevo elemento.El Agregar nuevo elemento se
muestra el cuadro de dilogo.
2. En Visual C # de la instalada panel de la izquierda, seleccione Cdigo.

3. En el panel central, seleccione la clase. Nombre esta nueva clase PayPalFunctions.cs.


Pgina 124
4. Haga clic en Agregar.El nuevo archivo de clase se muestra en el editor.
5. . Reemplace el cdigo predeterminado con el siguiente cdigo:

Pgina 125

Pgina 126

Pgina 127

Pgina 128

Pgina 129

6. Agregue las credenciales de API Merchant (nombre de usuario, contrasea y firma) que
mostrado anteriormente en este tutorial para que pueda realizar llamadas de funcin a la
prueba PayPal ambiente.

Nota
En esta aplicacin de ejemplo que son simplemente agregando credenciales en un archivo de C #
(.cs). Sin embargo, en una solucin implementada, usted debe considerar encriptar sus
credenciales en un archivo de configuracin.
La clase NVPAPICaller contiene la mayora de la funcionalidad PayPal. El cdigo de la clase
proporciona los mtodos 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:
Funcin 1. SetExpressCheckout
Funcin 2. GetExpressCheckoutDetails
3. Funcin DoExpressCheckoutPayment
El mtodo ShortcutExpressCheckout recoge la informacin de compra de prueba y productos
detalles de la cesta de la compra y llama a la funcin SetExpressCheckout PayPal. los Mtodo
GetCheckoutDetails confirma detalles de la compra y llama al GetExpressCheckoutDetails funcin
de PayPal antes de hacer la compra de prueba. los Mtodo DoCheckoutPayment completa la
compra de prueba desde el entorno de pruebas por llamando a la funcin
DoExpressCheckoutPayment PayPal. El cdigo restante apoya la Mtodos y procesos de PayPal,
como cadenas de codificacin, decodificacin de cadenas, matrices de procesamiento, y la
determinacin de las credenciales.
Nota
Pgina 130

PayPal le permite incluir detalles de la compra opcionales basados en Especificacin de la API de


PayPal . Por extender el cdigo de la aplicacin de ejemplo Wingtip Toys, puede incluir datos de
localizacin, descripciones de productos, impuestos, un nmero 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 mtodo de utilizar un nmero de puerto.

Cuando Visual Web Developer se ejecuta un proyecto web, un puerto aleatorio se utiliza para el
servidor web. Como mostrado anteriormente, el nmero de puerto es 1234. Cuando se ejecuta la
aplicacin, probablemente veremos un diferente nmero de puerto. Su nmero de puerto se debe
establecer en el cdigo anterior, para que pueda xito ejecutar la aplicacin de ejemplo Wingtip
Toys al final de este tutorial. En la siguiente seccin de este tutorial explica cmo recuperar el
nmero de puerto host local y actualizar la clase de PayPal.

Actualizar el nmero de puerto localhost en la Clase de PayPal


La aplicacin de ejemplo Wingtip Toys compra productos, vaya hasta el lugar de la prueba PayPal y
regresar a su instancia local de la aplicacin de ejemplo Wingtip Toys. Para tener PayPal retorno a
la URL correcta, es necesario especificar el nmero de puerto del local corriendo aplicacin de la
muestra en el cdigo 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 nmero 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 nmero de puerto de la aplicacin web:

Ahora el cdigo que agreg coincidir con el puerto previsto para la aplicacin Web local. PayPal
podr volver a la URL correcta en el equipo local.

Agregar el botn de PayPal Checkout


Ahora que las funciones primarias de PayPal se han aadido a la aplicacin de ejemplo, se puede
empezar a aadir el marcado y el cdigo necesario para llamar a estas funciones. En primer lugar,
debe agregar el botn de pago que el usuario ver en la pgina de carrito de compras.
1. Abra el archivo ShoppingCart.aspx.

2. Desplcese hasta el final del archivo y encontrar el <! - Pedido de marcador de posicin ->
comentar.
Pgina 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, despus de que el controlador de eventos


UpdateBtn_Click cerca del finaldel archivo, agregue el controlador de eventos
CheckOutBtn_Click:

5. Tambin en el ShoppingCart.aspx.cs archivo, agregue una referencia a la CheckoutBtn, por


lo que elnuevo botn 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
recin aadido ImageButton control.

Enviar Informacin de compra a PayPal Cuando el usuario hace clic en el Pedido botn en la pgina
del carrito de la compra (ShoppingCart.aspx),van a empezar el proceso de compra. El cdigo
siguiente llama a la primera funcin de PayPal necesaria para productos de la compra.
Pgina 132
1. En el Pedido carpeta, abra el archivo de cdigo subyacente llamado
CheckoutStart.aspx.cs.Asegrese de abrir el archivo de cdigo subyacente.
2. Reemplace el cdigo existente con el siguiente:

Cuando el usuario de la aplicacin hace clic en el Pedido botn en la pgina del carro de compras,
lanavegador navegue a la CheckoutStart.aspx pgina. Cuando los CheckoutStart.aspx pgina se
carga,se llama al mtodo 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 aplicacin en la que el mtodo ShortcutExpressCheckout completa. Cuando el
ShortcutExpressCheckout mtodo es completa, se redirigir al usuario a la CheckoutReview.aspx
pgina especificada en el mtodo ShortcutExpressCheckout. Esto permite al usuario revisar los
detalles de la orden desde dentro de la aplicacin de ejemplo Wingtip Toys.

Revise Detalles de pedidos


Pgina 133
Despus de regresar de PayPal, la CheckoutReview.aspx pgina de la muestra Wingtip
Toysaplicacin muestra los detalles de la orden. Esta pgina permite al usuario revisar los detalles
de la orden antes de adquirir los productos. El CheckoutReview.aspx pgina debe ser creado de la
siguiente manera:
1. En el Pedido carpeta, abra la pgina denominada CheckoutReview.aspx.
2. Vuelva a colocar el marcado actual por el siguiente:

Pgina 134

4. Abra la pgina de cdigo subyacente nombrados CheckoutReview.aspx.cs y reemplazar el


existentecdigo con lo siguiente:

Pgina 135

Pgina 136

El DetailsView control se utiliza para mostrar los detalles de la orden que han sido devueltos
porPayPal. Adems, el cdigo 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 botn, se les
redirigea la CheckoutComplete.aspx pgina.
Consejo
Observe que el <ItemStyle> etiqueta se utiliza para cambiar el estilo de los elementos dentro de la
DetailsView control. Al ver la pgina en la vista Diseo, 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 dilogo. En este cuadro de dilogo
usted puede fcilmentecontrolar las propiedades visuales, como ItemStyle, del DetailsView
control.
Pgina 137

Compra completa
CheckoutComplete.aspx pgina hace que la compra de PayPal. Como se mencion anteriormente,
el usuariodebe hacer clic en el Encargar botn antes de la aplicacin se navegue a
laCheckoutComplete.aspx pgina.
1. En el Pedido carpeta, abra la pgina denominada CheckoutComplete.aspx.
2. Vuelva a colocar el marcado actual por el siguiente:

Pgina 138
3. Abra la pgina de cdigo subyacente nombrados CheckoutComplete.aspx.cs y reemplazar
el existentecdigo con lo siguiente:

Pgina 139

Cuando el CheckoutComplete.aspx se carga la pgina, se llama al mtodo DoCheckoutPayment.


Como se mencion anteriormente, el mtodo 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 pgina muestra un ID de transaccin de pago al comprador.

Mango Cancelar Compra


Si el usuario decide cancelar la compra, que se dirigirn a la CheckoutCancel.aspx pginadonde
vern que su pedido ha sido cancelado.
1. Abra la pgina denominada CheckoutCancel.aspx en el Pedido carpeta.
2. Vuelva a colocar el marcado actual por el siguiente:

Manejar Errores de compra


Pgina 140
Errores durante el proceso de compra sern manejados por el CheckoutError.aspx pgina. El
cdigo-detrs del CheckoutStart.aspx pgina, el CheckoutReview.aspx pgina y

elCheckoutComplete.aspx pgina cada redirigir a la CheckoutError.aspx pgina si se produce un


error.
1. Abra la pgina denominada CheckoutError.aspx en el Pedido carpeta.
2. Vuelva a colocar el marcado actual por el siguiente:

El CheckoutError.aspx pgina se visualiza con los detalles del error cuando se produce un error
durante laproceso de pago.

Ejecutar la aplicacin
Ejecutar la aplicacin para ver cmo 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 slo se aplica a PayPal pruebas de
caja de arena, no entorno real de PayPal.
3. En Visual Studio, presione F5 para ejecutar la aplicacin de ejemplo Wingtip Toys.Despus de la
base de datos reconstruye, el navegador se abrir y mostrar el Default.aspx pgina.
4. Agregue tres productos diferentes a la cesta de la compra seleccionando la categora de
producto, tales como "Cars" y luego hacer clic en Aadir a la cesta al lado de cada producto.La
cesta de la compra se mostrar el producto que ha seleccionado.
Pgina 141
5. Haga clic en el PayPal botn a la caja.

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 pgina para iniciar sesin con una existente
gmail.com correo electrnico cuenta. Si usted no tiene una cuenta de gmail.com, puede crear una
para propsitos de prueba en
Pgina 142
www.gmail.com . Tambin puede utilizar una cuenta local estndar haciendo clic en "Registrarse".

Pgina 143
8. Iniciar sesin con tu cuenta de gmail y contrasea.

Pgina 144
9. Haga clic en el Conectarse botn para registrar su cuenta de gmail con su muestra Juguetes
WingtipNombre de usuario de la aplicacin.

Pgina 145
10. En el sitio de prueba de PayPal, aadir su comprador direccin de correo electrnico y la
contrasea que creanteriormente en este tutorial, a continuacin, en la sesin botn.

Pgina 146
11. De acuerdo a la poltica de PayPal y haga clic en el Aceptar y continuar botn.Tenga en cuenta
que esta pgina slo se muestra la primera vez que utilice esta cuenta de PayPal.

Pgina 147
12. Revise la informacin del pedido en la pgina de opinin entorno de pruebas PayPal y clic
Continuar.

Pgina 148
13. En la CheckoutReview.aspx pgina, comprobar la cantidad de la orden y ver el generado
direccion de envio. A continuacin, haga clic en el Encargar botn.

Pgina 149
14. El CheckoutComplete.aspx pgina se muestra con un ID de transaccin de pago.

Revisar la base de datos


Mediante la revisin de los datos actualizados en la base de datos de aplicaciones de muestra
Wingtip Toys despus de correr la aplicacin, se puede ver que la aplicacin 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 an 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.
Pgina 150
7. Revisar el PaymentTransactionID columna para confirmar transacciones exitosas.

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
Conexin.
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 tambin integrada la funcionalidad de PayPal en la aplicacin de ejemplo Wingtip
Toys.

Recursos adicionales
Introduccin a la configuracin ASP.NET
Crear un 5 aplicacin ASP.NET MVC con Facebook y Google OAuth2 y OpenID Sign-on (C #)

Descargo de responsabilidad
Este tutorial contiene cdigo de ejemplo. Se proporciona Tal cdigo de ejemplo "tal cual" sin
garanta de ningn amable. En consecuencia, Microsoft no garantiza la exactitud, integridad o
calidad de la muestra cdigo. Usted se compromete a utilizar el cdigo de ejemplo a su propio
riesgo. En ningn caso Microsoft ser responsable ante usted de ninguna manera por cualquier
cdigo de ejemplo, el contenido, incluyendo pero no limitado a, cualquier error u omisiones en

cualquier cdigo de ejemplo, el contenido, o cualquier prdida o dao de cualquier tipo incurridos
como resultado de la utilizacin de cualquier cdigo de ejemplo. Se le notifica y no acepta
indemnizar, guardar y mantener a Microsoft indemne de y contra cualquier y toda prdida,
reclamos de prdida, lesin o dao
Pgina 151
de cualquier tipo, incluyendo, sin limitacin, 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.
Pgina 152

Composicin y Administracin
Esta serie tutorial te ensear los fundamentos de la construccin de una aplicacin 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 # cdigo est disponible para acompaar esta serie de
tutoriales.
Este tutorial muestra cmo actualizar la aplicacin de ejemplo Wingtip Toys para aadir un funcin
de administrador y el uso ASP.NET Identidad. Tambin muestra cmo implementar un pgina de
administracin desde el cual el administrador puede agregar y eliminar los productos de la sitio
web.
ASP.NET Identidad es el sistema de afiliacin 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 Pgina de la aplicacin. Tambin puede instalar especficamente el
sistema ASP.NET Identidad usando NuGet cuando usted comienza con una aplicacin Web vaca.
Sin embargo, en esta serie de tutoriales utiliza la Web Formas plantilla proyecto, que incluye el
sistema de ASP.NET identidad. ASP.NET Identidad hacefcil de integrar datos de perfil especficos
del usuario con los datos de aplicacin. Adems, ASP.NET Identidad permite a elegir el modelo de
persistencia de los perfiles de usuario de la aplicacin. Puede almacenar los datos en una base de
datos SQL Server u otro almacn 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:
Cmo utilizar cdigo para agregar una funcin de administrador y un usuario de la aplicacin.
Cmo restringir el acceso a la carpeta de la administracin y la pgina.
Cmo proporcionar la navegacin para el rol de administrador.
Cmo utilizar el modelo vinculante para llenar un DropDownList de control con el producto
categoras.
Cmo subir un archivo a la aplicacin web mediante el FileUpload control.

Cmo utilizar los controles de validacin para implementar la validacin de entrada.


Cmo agregar y eliminar los productos de la aplicacin.
Estas caractersticas se incluyen en el tutorial:
ASP.NET Identidad
Configuracin y Autorizacin
La unin Modelo
Validacin Discreto
Pgina 153
ASP.NET Web Forms proporciona capacidades de afiliacin. Mediante el uso de la plantilla por
defecto, usted tiene funcionalidad integrada de miembros que puede utilizar de inmediato cuando
la aplicacin se ejecuta. Esta tutorial le muestra cmo utilizar ASP.NET Identidad para agregar una
funcin de administrador y asignar un usuario para ese papel. Usted aprender cmo restringir el
acceso a la carpeta de administracin. Vamos a aadir una pgina a la carpeta de administracin
que permite a un administrador agregar y quitar productos, y para vista previa de un producto
despus de que se ha aadido.

Adicin de un administrador
El uso de ASP.NET Identidad, puede agregar una funcin de administrador y asignar un usuario a la
funcin mediante cdigo.
1. En el Explorador de soluciones, haga clic en la lgica de la carpeta y crear una nueva clase.
2. Nombre de la nueva clase RoleActions.cs.
3. Modifique el cdigo 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 aadido el cdigo resaltado en amarillo para
queaparezca como sigue:

Pgina 154

6. Tenga en cuenta que est subrayado createAdmin en rojo. Haga doble clic en la createAdmin
cdigo. Se subray la letra "c" en el mtodo de resaltado.
7. A continuacin, coloque el cursor sobre la letra "c" para mostrar la interfaz de usuario que le
permite generar un mtodo stub para el mtodo createAdmin.

8. Haga clic en el opcionado titulado: Generar Stub para 'createAdmin' en


"WingtipToys.Logic.RoleActions '
9. Abra la RoleActions.cs archivo de la Lgica carpeta.El mtodo createAdmin se ha aadido al
archivo de clase.
10. Modificar el RoleActions.cs archivo quitando el NotImplementedeException yaadiendo el
cdigo resaltado en amarillo, de modo que aparezca como sigue:

Pgina 155

El cdigo anterior funciona estableciendo primero un contexto de base de datos para la base de
datos de miembros. La base de datos de miembros tambin 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 sesin en esta aplicacin web.
Nota
Si desea almacenar los datos de afiliacin, 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 cdigo de
seguridad.
El interior de palabras clave es un modificador de acceso para este tipo (como clases) y miembros
de tipo (por ejemplo,mtodos o propiedades). Tipos internos o miembros slo son accesibles
dentro de los archivos contenidos en la misma asamblea (.dll archivo). Cuando usted construye su
aplicacin, un archivo de ensamblado (.dll) se creaque contiene el cdigo que se ejecuta cuando se
ejecuta la aplicacin.
Pgina 156

Un objeto RoleStore, que proporciona la administracin 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 Genrico. Esta significa
que el RoleStore slo se le permite contener objetos IdentityRole. Tambin mediante el uso de Los
medicamentos genricos, los recursos en la memoria se manejan mejor.
A continuacin, el objeto roleManager, se crea basndose en el objeto RoleStore que acaba
creado. el objeto roleManager expone API relacionada papel que se puede utilizar para
automticamente guardar los cambios en el RoleStore. El roleManager slo se le permite contener
IdentityRole objetos porque el cdigo utiliza el <IdentityRole> Tipo Genrico.
Usted llama al mtodo 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.
Creacin del objeto UserManager parece ser ms complicado que el roleManager control, sin
embargo, es casi la misma. Slo se codifica en una lnea en lugar de varios. Aqu el parmetro que
est de paso se instanciando como un nuevo objeto contenido en el parntesis.
A continuacin, crea el usuario "Admin" mediante la creacin de un nuevo objeto ApplicationUser.
Entonces, si usted crear con xito el usuario, se agrega el usuario a la nueva funcin.
Nota
El manejo de errores se actualizar durante el tutorial "ASP.NET Tratamiento de errores" ms
adelante en este serie de tutoriales.
La prxima vez que se inicia la aplicacin, se agregar el usuario llamado "Admin" como el papel
llamado "Administrador" de la aplicacin. Ms adelante en este tutorial, iniciar sesin como el
usuario "Admin" para mostrar las capacidades adicionales que se le aaden durante este tutorial.
Para obtener ms informacin 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 pgina de administracin


La aplicacin de ejemplo Wingtip Toys permite tanto a los usuarios annimos y usuarios
registrados en para ver y comprar productos. Sin embargo, el administrador ha iniciado sesin en
el se puede acceder a una pgina restringida Para agregar y quitar productos.
Agregar una carpeta de Administracin y Pgina
A continuacin, 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.
Pgina 157

2. Nombre de la nueva carpeta de administracin.


3. Haga clic en el Administrador de carpetas y seleccione Agregar -> Nuevo elemento.El Agregar
nuevo elemento se muestra el cuadro de dilogo.
4. Seleccione el Visual C # -> Web grupo de plantillas a la izquierda. En la lista de medio,
seleccioneFormulario Web con pginas maestras, lo nombra AdminPage.aspx, a continuacin,
seleccione Agregar.
5. Seleccione el Site.Master archivo como la pgina principal, y luego seleccione Aceptar.

Aadir un archivo Web.config


Al aadir un Web.config archivo a la administracin de carpetas, puede restringir el acceso a la
pgina 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 dilogo.
2. En la lista de plantillas web de Visual C #, seleccione Archivo de configuracin Web de laLista
media, acepte el nombre predeterminado de Web.config, a continuacin, 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 slo los
administradores de la aplicacinpuede acceder a la pgina de contenido en la administracin de
carpetas.

Incluyendo administrador Navegacin


Para habilitar el administrador para navegar a la seccin de administracin de la aplicacin, debe
agregar un enlace a la Site.Master pgina. Slo los usuarios que pertenecen a la funcin de
administrador serncapaz de ver el Administrador de enlace y acceder a la seccin de
administracin.
1. En el Explorador de soluciones, encontrar y abrir la Site.Master pgina.
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:

Pgina 158
2. Abra la Site.Master.cs archivo. Haga la administracin enlace visible slo para el usuario
"admin" poraadiendo el cdigo resaltado en amarillo al manejador Page_Load. El
Page_Load manejador aparecer de la siguiente manera:

Cuando se carga la pgina, el cdigo comprueba si el usuario ha iniciado sesin en cuenta el papel
de "Administrador". Si el usuario es un administrador, el elemento span que contiene el enlace a la
AdminPage.aspx pgina (y en consecuencia el enlace dentro del lapso) se hace visible.

Habilitacin de Administracin de Producto


Hasta el momento, se ha creado la funcin de administrador y ha aadido un usuario
administrador, un carpeta de administracin, y una pgina de administracin. Ha establecido los
derechos de acceso para el carpeta de la administracin y en la pgina, y han aadido un enlace de
navegacin para el administrador de la solicitud. A continuacin, va a agregar marcadores para la
AdminPage.aspx pgina y cdigo alAdminPage.aspx.cs archivo de cdigo subyacente que permitir
al administrador para aadir y eliminar productos.
1. En el Explorador de soluciones, abra el AdminPage.aspx archivo de la administracin de
carpetas.
2. Vuelva a colocar el marcado actual por el siguiente:

Pgina 159

Pgina 160

3. A continuacin, abra las AdminPage.aspx.cs archivo de cdigo subyacente, haga clic en el


AdminPage.aspx y haciendo clic en Ver cdigo.

4. Reemplace el cdigo existente en los AdminPage.aspx.cs archivo de cdigo subyacente con el


siguientecdigo:

Pgina 161

Pgina 162

En el cdigo que ha introducido para los AdminPage.aspx.cs archivo de cdigo subyacente, una
clase llamadaAddProducts hace el trabajo real de la adicin 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 lgica de la carpeta y luego seleccione Agregar ->
Nuevo elemento.El Agregar nuevo elemento se muestra el cuadro de dilogo.
2. Seleccione el Visual C # -> Cdigo grupo de plantillas a la izquierda. A continuacin, seleccione la
clase de laLista de medio y el nombre AddProducts.cs.Se muestra el nuevo archivo de clase.
3. Reemplace el cdigo existente con el siguiente:

El AdminPage.aspx pgina permite al administrador para aadir y eliminar productos. Cuando un


nuevo se aade 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 aplicacin
web.

Validacin Discreto
Pgina 163

Los detalles de los productos que el usuario proporciona en la AdminPage.aspx pgina se validan
utilizandocontroles de validacin (RequiredFieldValidator y RegularExpressionValidator). Estos
controles utilizan automticamente la validacin discreto. Validacin discreto permite que el
validacin de controles para el uso de JavaScript para la lgica de validacin en el cliente, lo que
significa que la pgina hace no requiere un viaje al servidor para ser validado. De forma
predeterminada, la validacin discreta se incluye en el Web.config archivo basado en el ajuste de
la configuracin siguiente:

Expresiones regulares
El precio del producto en el AdminPage.aspx pgina se valida mediante
unRegularExpressionValidator control. Este control valida si el valor de la asociadacontrol de
entrada (el cuadro de texto "AddProductPrice") coincide con el patrn especificado por el
ordinario expresin. Una expresin regular es una notacin de patrones que le permite encontrar
rpidamente y combinar patrones de caracteres especficos. El RegularExpressionValidator de
control incluye unpropiedad denominada ValidationExpression que contiene la expresin regular
utilizada para validar la entrada de precios, como se muestra a continuacin:

Control de FileUpload
Adems de los controles de entrada y validacin, agreg el FileUpload control alAdminPage.aspx
pgina. Este control proporciona la capacidad de subir archivos. En este caso, usted espermitiendo
slo archivos de imagen a cargar. En el archivo de cdigo subyacente (AdminPage.aspx.cs), cuando
elAddProductButton se hace clic, el cdigo 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 extensin de
archivo), la imagen se guarda en el archivo de la carpeta y el archivo / Pulgares carpeta de la
aplicacin.

Encuadernacin Modelo
A principios de esta serie de tutoriales que utiliz modelo de unin para rellenar un ListView
control, unFormsView control, un GridView control y un DetailView control. En este tutorial, se
utilizamodelo de unin para llenar un DropDownList de control con una lista de categoras de
productos.
El margen de beneficio que ha agregado a la AdminPage.aspx archivo contiene un DropDownList
control de llamadaDropDownAddCategory:

Utiliza modelo de unin a poblar esta DropDownList estableciendo el atributo ItemType yel
atributo SelectMethod. El atributo ItemType especifica que se utiliza el
Pgina 164
Tipo WingtipToys.Models.Category al rellenar el control. Ha definido este tipo en el comienzo de
esta serie de tutoriales mediante la creacin de la clase Categora (mostrado a continuacin). los
Clase Categora se encuentra en la Modelos carpeta dentro de la Category.cs archivo.

El atributo SelectMethod del DropDownList control especifica que utilice laMtodo GetCategories
(que se muestra a continuacin) que se incluye en el archivo de cdigo subyacente
(AdminPage.aspx.cs).

Este mtodo especifica que una interfaz IQueryable se utiliza para evaluar una consulta en una
Tipo de categora. El valor devuelto se utiliza para rellenar el DropDownList en el marcado
delpgina (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 Categora (ver imagen
superior) para visualizar cada categora 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 IdCategora como definir en la clase
Categora (que se muestra arriba).

Cmo la aplicacin funcionar


Cuando el administrador desplaza a la pgina para la primera vez, el DropDownAddCategory
DropDownList de control se rellena como se describe anteriormente. El
DropDownRemoveProductDropDownList control tambin se rellena con productos utilizando el
mismo enfoque. los administrador selecciona el tipo de categora y aade los detalles del producto

(nombre, descripcin, precio,y archivos de imagen). Cuando el administrador hace clic en el


Agregar Producto botn, elControlador de eventos AddProductButton_Click se dispara. El
AddProductButton_Click controlador de eventos se encuentra en el archivo de cdigo 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 continuacin, el archivo de imagen se
guarda en uncarpeta de la aplicacin de ejemplo Wingtip Toys. A continuacin, el nuevo producto
se aade a la base de datos.
Pgina 165
Para llevar a cabo la adicin de un nuevo producto, se crea una nueva instancia de la clase
AddProducts y productos mencionados. La clase AddProducts tiene un mtodo denominado
AddProduct, y los productos objeto llama a este mtodo para agregar productos a la base de
datos.

Si el cdigo agrega con xito el nuevo producto a la base de datos, la pgina se vuelve a cargar con
el consulta valor de cadena ProductAction = aadir.

Cuando la pgina se recarga, la cadena de consulta se incluye en el URL. Por volver a cargar la
pgina, administrador puede ver inmediatamente los cambios en los DropDownList controles en
elAdminPage.aspx pgina. Adems, mediante la inclusin de la cadena de consulta con la URL, la
pgina puede mostrar unmensaje de xito al administrador.
Cuando los AdminPage.aspx cargar la pgina, 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 aplicacin

Puede ejecutar la aplicacin ahora para ver cmo 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 aplicacin de ejemplo Wingtip
Toys.El navegador se abre y muestra el Default.aspx pgina.
Pgina 166
3. Haga clic en el Iniciar sesin enlace en la parte superior de la pgina.

El Login.aspx se muestra la pgina.


4. Utilice el siguiente nombre de usuario y la contrasea del administrador:
Nombre de usuario: Admin
Contrasea: Pa $$ palabra
Pgina 167

4. Haga clic en el Conectarse botn en la parte inferior de la pgina.


Pgina 168
5. En la parte superior de la pgina siguiente, seleccione la administracin enlace para
navegar a la AdminPage.aspx pgina.

6. 6. Para probar la validacin de entrada, haga clic en el Agregar Producto botn sin la
adicin de cualquier producto detalles.

Pgina 169

Observe que se muestran los mensajes de campo requeridas.


Pgina 170
7. Agregue los detalles de un nuevo producto y, a continuacin, haga clic en el Agregar Producto
botn.

Pgina 171
8. Seleccione los productos desde el men de navegacin superior para ver el nuevo producto que
ha aadido.

9. Haga clic en el Administrador enlace para volver a la pgina de administracin.


10. En el Remove Producto seccin de la pgina, seleccione el nuevo producto que ha aadido en
elDropDownListBox.
Pgina 172
11. Haga clic en el Eliminar el botn para quitar el nuevo producto de la aplicacin.

12. Seleccione los productos desde el men de navegacin superior para confirmar que el
producto ha sido eliminado.
13. Haga clic en cerrar la sesin de existir el modo de administracin.Observe que el panel de
navegacin superior ya no muestra el Administrador elemento de men.

Sumario
En este tutorial, que ha aadido una funcin de administrador y un usuario administrativo,
limitado acceso a la carpeta de la administracin y en la pgina, y provisto de navegacin para el
rol de administrador. usted Modelo usado vinculante para llenar un DropDownList de control con
datos. Ha implementado elFileUpload control controles y validacin. Tambin, usted ha aprendido
a agregar y quitarlos productos procedentes de una base de datos. En el siguiente tutorial,
aprenders cmo implementar el enrutamiento de ASP.NET.

Recursos adicionales
Web.config - Elemento autorizacin
ASP.NET Identidad
Pgina 173

Enrutamiento URL
Esta serie tutorial te ensear los fundamentos de la construccin de una aplicacin 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 # cdigo est disponible para acompaar esta serie de
tutoriales.
En este tutorial, modificar la aplicacin de ejemplo Wingtip Toys personalizar enrutamiento URL.
Routing permite su aplicacin web para utilizar las URL que son amigables, ms fcil de recordar, y
mejor apoyado por los motores de bsqueda. Este tutorial se basa en la afiliacin tutorial anterior
" y Administracin "y forma parte de la serie de tutoriales Wingtip Toys.

Lo que aprender:

Cmo registrarse rutas para una aplicacin Web Forms de ASP.NET.


Cmo aadir rutas a una pgina web.
Cmo seleccionar los datos en una base de datos para apoyar rutas.

Descripcin general del enrutamiento ASP.NET


Enrutamiento de URL le permite configurar una aplicacin para aceptar la solicitud URL que no se
asignan a archivos fsicos. Un URL de solicitud es simplemente el URL que un usuario introduce en
el navegador para encontrar una pgina en su pgina web. Utiliza enrutamiento para definir las

direcciones URL que son semnticamente significativa para los usuarios y que puede ayudar con la
optimizacin de motores de bsqueda (SEO).
Por defecto, la plantilla de formularios Web incluye URLs ASP.NET friendly . Gran parte de la
enrutamiento bsico el trabajo se llevar a cabo mediante el uso de URLs. Sin embargo, en este
tutorial agregarcapacidades de enrutamiento personalizados.
Antes de personalizar el enrutamiento URL, la aplicacin de ejemplo Wingtip Toys puede enlazar a
un producto utilizando la siguiente URL:
http: // localhost: 1234 / ProductDetails.aspx productID = 2
Mediante la personalizacin de enrutamiento URL, la aplicacin de ejemplo Wingtip Toys vincular
al mismo producto utilizando una ms fcil de leer URL:
http: // localhost: 1234 / Producto / Convertible% 20Car

Rutas
Una ruta es un patrn de URL que se asigna a un controlador. El controlador puede ser un archivo
fsico, tal como un archivo .aspx en un Web Forms. Un controlador tambin puede ser una clase
que procesa la peticin. Para definir una ruta, se crea una instancia de la clase de ruta
especificando la URL patrn, el controlador y, opcionalmente, un nombre para la ruta.
Pgina 174
Se agrega la ruta a la aplicacin mediante la adicin del objeto Ruta a la propiedad rutas estticas
de la clase RouteTable. La propiedad Rutas es un objeto RouteCollection que almacena toda las
rutas para la aplicacin.

Patrones de URL
Un patrn de URL puede contener valores literales y marcadores de posicin variables (referido
como URL parmetros). Los literales y marcadores de posicin se encuentran en los segmentos de
la URL que son delimitado por el carcter de barra inclinada (/).
Cuando se hace una peticin a la aplicacin web, la URL se analiza en segmentos y marcadores de
posicin, 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, informacin 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
estn en la URL. Para las rutas, las claves son la nombres de marcador de posicin definidas en el
patrn de URL y slo los valores estn en la URL.
En un patrn de URL, se definen los marcadores de posicin encerrndolos entre llaves ({y}).
Puedes definir ms de un marcador de posicin en un segmento, pero los marcadores de posicin
deben estar separados por una valor literal. Por ejemplo, {idioma} - {pas} / {accin} es un patrn
de ruta vlida. Sin embargo, el lenguaje {} {pas} / {accin} no es un patrn vlido, porque no hay
literal valor o delimitador entre los marcadores de posicin. Por lo tanto, el enrutamiento no

puede determinar dnde separar el valor del marcador de posicin de la lengua a partir del valor
para el marcador de posicin pas.

Mapeo y Rutas Registro


Antes de que pueda incluir rutas a las pginas de la aplicacin de ejemplo Wingtip Toys, debe
registrar las rutas cuando se inicia la aplicacin. 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 cdigo resaltado en amarillo a la Global.asax.cs archivo de la siguiente manera:

Pgina 175

Cuando se inicia la aplicacin de ejemplo Wingtip Toys, llama al evento Application_Start


manejador. Al final de este controlador de eventos, se llama al mtodo RegisterCustomRoutes. los
Mtodo RegisterCustomRoutes agrega cada ruta llamando al mtodo MapPageRoute de el objeto
RouteCollection. Las rutas se definen utilizando un nombre de ruta, una ruta de URL y un URL
fsico.
El primer parmetro ("ProductsByCategoryRoute") es el nombre de la ruta. Se utiliza para llamar a
la ruta cuando es necesario. El segundo parmetro ("Categora / {categoryName}") define el
amigable URL de sustitucin que puede ser dinmico basado en el cdigo. 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 parmetro de la ruta incluye un valor dinmico 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 ms fcil manejar su cdigo moviendo los RegisterCustomRoutes mtodo a
una clase separada. En la lgica de carpetas, crear una clase RouteActions separada. Movida
Pgina 176
el mtodo RegisterCustomRoutes encima de las Global.asax.cs archivo en el nuevoClase
RoutesActions. Utilice la clase RoleActions y el mtodo createAdmin como ejemplo de cmo
llamar al mtodo RegisterCustomRoutes del Global.asax.cs archivo.
Tambin puede haber notado la RegisterRoutes mtodo 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 cdigo por defecto al crear la aplicacin
utilizando Visual Web Studio Forms plantilla.

Recuperacin y Uso de Datos Ruta


Como se mencion anteriormente, las rutas pueden ser definidos. El cdigo que agreg a la
Application_Start controlador de eventos en el Global.asax.cs archivo de carga las rutas definibles.

Configuracin de Rutas
Rutas requieren que usted agregue cdigo adicional. En este tutorial, utilizar el modelo de unin
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 categora especfica de productos. Se crea un enlace
para cada producto en base a los datos y la ruta.

Habilitar rutas para Categoras y Productos


A continuacin, podrs actualizar la aplicacin para utilizar la ProductsByCategoryRoute para
determinar la ruta correcta para incluir para cada enlace categora de producto. Tambin debes
actualizar el ProductList.aspx pgina para incluir un enlace encaminado para cada producto. Los
enlaces se mostrarn como antes el cambio, sin embargo los enlaces usar ahora enrutamiento
URL.
1. En el Explorador de soluciones, abra el Site.Master pgina 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 pgina.


Pgina 177
4. Actualice el elemento ItemTemplate del ProductList.aspx pgina con las
actualizacionesresaltado en amarillo, por lo que el margen de beneficio aparece como
sigue:

5. Abra el cdigo subyacente de ProductList.aspx.cs y aadir el espacio de nombres siguiente


comoresaltado en amarillo:

6. Vuelva a colocar el mtodo GetProducts de los de cdigo subyacente (ProductList.aspx.cs)


con elsiguiente cdigo:

Pgina 178

Aadir Cdigo de Detalle del producto


Ahora, actualice los de cdigo subyacente (ProductDetails.aspx.cs) para el ProductDetails.aspx
pgina a utilizardatos de la ruta. Observe que el nuevo mtodo obtenerProducto tambin acepta
un valor de cadena de consulta para la caso en el que el usuario tiene un vnculo marcado que
utiliza la no amigable URL mayor, no enrutado.
1. Reemplazar el mtodo obtenerProducto de los de cdigo subyacente
(ProductDetails.aspx.cs) con elsiguiente cdigo:

Ejecutar la aplicacin
Puede ejecutar la aplicacin ahora para ver las rutas actualizadas.
1. Presione F5 para ejecutar la aplicacin de ejemplo Wingtip Toys.El navegador se abre y muestra
el Default.aspx pgina.
2. Haga clic en el Productos enlace en la parte superior de la pgina.Todos los productos que se
muestran en la ProductList.aspx pgina. La direccin URL siguiente (usando sunmero de puerto)
se muestra para el navegador:
http: // localhost: 1234 / Lista del producto
Pgina 179

3. A continuacin, haga clic en el Coches enlace de categora en la parte superior de la


pgina.Slo los coches se muestran en la ProductList.aspx pgina. La direccin URL
siguiente (utilizando el puertonmero) se muestra para el navegador:
http: // localhost: 1234 / Categora / Coches
4. Haga clic en el enlace que contiene el nombre del primer coche que aparece en la pgina
("coche convertible")para mostrar los detalles del producto. La direccin URL siguiente
(usando su nmero de puerto) se muestra para el navegador:
http: // localhost: 1234 / Producto / Convertible% 20Car
5. A continuacin, introduzca la siguiente URL no enrutado (usando su nmero de puerto) en
el navegador: http: // localhost: 1234 / ProductDetails.aspx productID = 2 El cdigo an
reconoce una direccin URL que incluye una cadena de consulta, para el caso donde un
usuario tiene un vnculo marcado.

Sumario
En este tutorial, que ha aadido rutas para las categoras y productos. Usted ha aprendido cmo
rutas puede ser integrado con los controles de datos que utilizan la unin modelo. En el siguiente
tutorial, poner en prctica el manejo de errores global.

Recursos adicionales
URL ASP.NET friendly
Pgina 180

Tratamiento de errores ASP.NET


Esta serie tutorial te ensear los fundamentos de la construccin de una aplicacin 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 # cdigo est disponible para acompaar esta serie de
tutoriales.
En este tutorial, modificar la aplicacin de ejemplo Wingtip Toys para incluir el tratamiento de
errores y el registro de errores. Manejo de errores permitir la aplicacin 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:

Cmo aadir gestin de errores global para la configuracin de la aplicacin.


Cmo agregar el control de errores a nivel de aplicacin, de pgina y cdigos.
Cmo ingrese errores para su posterior revisin.
Cmo mostrar mensajes de error que no comprometan la seguridad.
Cmo implementar mdulos de registro de error y manipuladores (ELMAH) el registro de errores.

Informacin general

Aplicaciones ASP.NET deben ser capaces de manejar los errores que se producen durante la
ejecucin 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 excepcin. Un excepcin es cualquier error, condicin o
comportamiento inesperado que un encuentros de aplicacin.
En .NET Framework, una excepcin es un objeto que hereda de la System.Exception clase. Una
excepcin es lanzada desde un rea de cdigo donde se ha producido un problema. La excepcin
se pasa a la pila de llamadas a un lugar donde la aplicacin proporciona cdigo para manejar la
excepcin. Si la aplicacin no maneja la excepcin, el navegador se ve obligado a mostrar la
detalles de error.
Como prctica, controlar los errores en a nivel de cdigo en try / catch / finally bloques dentro de
su cdigo. 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 estn demasiado lejos de donde se
produjo el error, se hace ms difcil de proporcionar a los usuarios la informacin que necesitan
para solucionar el problema.

Excepcin Clase
La clase de excepcin es la clase base de la que heredan excepciones. La mayora de los objetos de
excepcin son las instancias de una clase derivada de la clase de excepcin, tales como la clase
SystemException, la Clase IndexOutOfRangeException, o la clase ArgumentNullException. La
excepcin
Pgina 181
clase tiene propiedades, como la propiedad StackTrace, la propiedad InnerException, y la
propiedad del mensaje, que proporcionan informacin especfica acerca del error que se ha
producido.

Excepcin Jerarqua de herencia


El tiempo de ejecucin tiene un conjunto base de excepciones que se derivan de la clase
SystemException que el motor de ejecucin emite cuando se encuentra una excepcin. La mayora
de las clases que heredan de la Clase de excepcin, como la clase IndexOutOfRangeException y la
Clase ArgumentNullException, no implementan miembros adicionales. Por lo tanto, el ms
informacin importante para una excepcin se puede encontrar en la jerarqua de excepciones, las
nombre de la excepcin, y la informacin contenida en la excepcin.

Jerarqua Manejo de excepciones


En una aplicacin Web Forms ASP.NET, las excepciones pueden ser manejados basados en un
manejo especfico jerarqua. Una excepcin puede ser manejado en los siguientes niveles:
Nivel 1. Aplicacin
Nivel 2. Page
Nivel 3. Cdigo

Cuando una aplicacin se encarga de excepciones, informacin adicional sobre la excepcin de


que es heredado de la clase Exception menudo se puede recuperar y se muestra al usuario. en
adicin de la aplicacin, la pgina y el nivel de cdigo, tambin puede controlar las excepciones a
nivel de mdulo HTTP y mediante el uso de un controlador personalizado IIS.

Nivel de Aplicacin Tratamiento de errores


Usted puede controlar los errores por omisin a nivel de aplicacin, ya sea mediante la
modificacin de la aplicacin configuracin o mediante la adicin de un controlador
Application_Error en el Global.asax archivo de su solicitud.
Usted puede controlar los errores por omisin y errores HTTP mediante la adicin de una seccin
customErrors a la Web.config archivo. La seccin customErrors permite especificar una pgina
predeterminada que los usuariosser redirigido a cuando se produce un error. Tambin permite
especificar pginas individuales para concreto errores de cdigo de estado.

Pgina 182
Por desgracia, cuando se utiliza la configuracin para redirigir al usuario a una pgina 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 aplicacin
mediante la adicin de cdigo para el Manejador Application_Error en el Global.asax archivo.

Nivel Pgina Control de errores Evento


Un controlador de nivel de pgina devuelve al usuario a la pgina donde se produjo el error, sino
porque las instancias de los controles no se mantienen, ya no va a ser nada en la pgina. A
proporcionar los detalles del error al usuario de la aplicacin, se debe escribir especficamente el
error detalles a la pgina.

Usted normalmente utilizar un gestor de errores a nivel de pgina para iniciar la sesin no
controlada errores o para llevar al usuario a una pgina que puede mostrar informacin til.
Este ejemplo de cdigo muestra un controlador para el evento de error en una pgina Web
ASP.NET. Este controlador las capturas de todas las excepciones que no estn ya manejadas
dentro de los bloques try / catch en la pgina.

Despus de manejar un error, debe desactivarla mediante una llamada al mtodo ClearError del
Servidor objeto (HttpServerUtility clase), de lo contrario, ver un error que tiene previamente
ocurri.

Cdigo Nivel tratamiento de errores


La sentencia try-catch consiste en un bloque try seguida de una o ms clusulas de captura, lo que
especifique manejadores para diferentes excepciones. Cuando se produce una excepcin, la
lengua comn runtime (CLR) busca la sentencia catch que maneja esta excepcin. Si el momento
Pgina 183
mtodo de ejecucin no contiene un bloque catch, el CLR mira el mtodo que llama mtodo
actual, y as sucesivamente, hasta la pila de llamadas. Si no se encuentra un bloque catch, el CLR
muestra un mensaje de excepcin no controlada para el usuario y detiene la ejecucin del
programa.
El ejemplo de cdigo siguiente se muestra una forma comn de utilizar try / catch / finally para
manejar errores.

En el cdigo anterior, el bloque try contiene el cdigo que necesita ser protegido contra una
posible excepcin. El bloque se ejecuta hasta que se lanza ya sea una excepcin o el bloque se
completa exitosamente. Si bien una excepcin FileNotFoundException o una excepcin
IOException ocurre, la ejecucin se transfiere a una pgina diferente. A continuacin, el cdigo
contenido en el ltimo bloque se ejecuta, si ocurri un error o no.

Adicin de Registro de errores Soporte


Antes de agregar el control de errores de la aplicacin de ejemplo Wingtip Toys, agregar el
registro de errores apoyo mediante la adicin de una clase ExceptionUtility a la lgica de la
carpeta. Al hacer esto, cada vezla aplicacin se encarga de un error, se aadirn los detalles del
error en el archivo de registro de errores.
1. Haga clic en la lgica de la carpeta y luego seleccione Agregar -> Nuevo elemento.El Agregar
nuevo elemento se muestra el cuadro de dilogo.
2. Seleccione el Visual C # -> Cdigo grupo de plantillas a la izquierda. A continuacin, 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 cdigo existente con el siguiente:

Pgina 184

Cuando se produce una excepcin, la excepcin se puede escribir en un archivo de registro


excepcin llamando al Mtodo LogException. Este mtodo toma dos parmetros, el objeto de
excepcin y una cadena que contiene detalles sobre la fuente de la excepcin. El registro de
excepcin se escribe en el ErrorLog.txt archivo en el App_Data carpeta.

Adicin de una pgina de error


En la aplicacin de ejemplo Wingtip Toys, una pgina se utilizar para mostrar errores. La pgina
de error est diseado para mostrar un mensaje de error seguro a los usuarios del sitio. Sin
embargo, si el usuario es un
Pgina 185
desarrollador hacer una peticin HTTP que se sirve de forma local en la mquina donde el cdigo
vidas, los detalles de error adicionales se mostrarn en la pgina de error.

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 dilogo.
2. Seleccione el Visual C # -> Web grupo de plantillas a la izquierda. En la lista de medio,
seleccioneFormulario Web con pginas maestras, y el nombre de ErrorPage.aspx.
3. Haga clic en Agregar.
4. Seleccione el Site.Master archivo como la pgina principal, y luego seleccione Aceptar.
5. Vuelva a colocar el marcado actual por el siguiente:

6. Reemplace el cdigo existente del cdigo subyacente (ErrorPage.aspx.cs) para que


aparezca como de la siguiente manera:

Pgina 186

Pgina 187

Cuando aparezca la pgina de error, se ejecuta el controlador de eventos Page_Load. En el


Page_Load manejador, la ubicacin de donde se determina el error fue manejado primero.
Entonces, el ltimo error producido se determina mediante una llamada al mtodo GetLastError
del objeto Server. Si la excepcin ya no existe, se crea una excepcin genrica. Entonces, si la
solicitud HTTP se hizo a nivel local, todo Se muestran los detalles del error. En este caso, slo el
equipo local que ejecuta la aplicacin web ver estos detalles del error. Despus de la informacin
de error se ha mostrado, se aade el error en el registro archivo y el error se borra del servidor.

Mostrando mensajes de error no controladas para la Aplicacin


Mediante la adicin de una seccin customErrors al Web.config archivo, puede manejar
rpidamente los errores simplesque se producen en toda la aplicacin. Tambin puede especificar
cmo manejar los errores en funcin de su valor del cdigo de estado, como 404 - File not found.
Actualizacin de la configuracin
Actualizacin de la configuracin mediante la adicin de una seccin customErrors al Web.config
archivo.
1. En el Explorador de soluciones, encontrar y abrir el Web.config archivo en la raz de los Juguetes
Wingtipaplicacin de ejemplo.
2. Agregue la seccin customErrors al Web.config archivo dentro del nodo <system.web> como
sigue:

2. Guarde el archivo Web.config archivo.


La seccin customErrors especifica el modo, que se fija en "On". Tambin especifica el
defaultRedirect, que cuenta la aplicacin que la pgina para navegar hasta cuando se produce un
error.

Pgina 188
Adems, se ha aadido un elemento de error especfico que especifica cmo manejar un error 404
cuando no se encuentra una pgina. Ms adelante en este tutorial, agregar el manejo de errores
adicionales que capturar los detalles de un error a nivel de aplicacin.
Ejecutar la aplicacin
Puede ejecutar la aplicacin ahora para ver las rutas actualizadas.
1. Presione F5 para ejecutar la aplicacin de ejemplo Wingtip Toys.El navegador se abre y muestra
el Default.aspx pgina.
2. Escriba el siguiente URL en el navegador (asegrese de utilizar el nmero de puerto):http: //
localhost: 1234 / NoPage.aspx
3. Revise la ErrorPage.aspx muestra en el navegador.

Cuando usted solicita la NoPage.aspx pgina, que no existe, la pgina de error mostrar elmensaje
de error simple y la informacin de error detallado si los detalles adicionales estn disponibles. Sin
embargo, si el usuario solicita una pgina inexistente desde una ubicacin remota, la pgina de
error que slo se mostrar el mensaje de error en rojo.

Incluyendo una excepcin para los propsitos de prueba


Pgina 189

Para comprobar cmo funcionar su aplicacin cuando se produce un error, puede crear
deliberadamente condiciones de error en ASP.NET. En la aplicacin de ejemplo Wingtip Toys,
usted lanzar una prueba excepcin cuando se carga la pgina por defecto para ver qu pasa.
1. Abra el cdigo subyacente del Default.aspx pgina en Visual Studio.El Default.aspx.cs se
mostrar la pgina de cdigo subyacente.
2. En el controlador de Load, agregue cdigo para que el manejador aparece como sigue:

Es posible crear varios tipos diferentes de excepciones. En el cdigo anterior, que est creando
una InvalidOperationException cuando el Default.aspx se carga la pgina.
Ejecutar la aplicacin
Puede ejecutar la aplicacin para ver cmo la aplicacin controla la excepcin.
1. Presione CTRL + F5 para ejecutar la aplicacin de ejemplo Wingtip Toys.La aplicacin tira el
InvalidOperationException.
Nota
Usted debe presionar CTRL + F5 para visualizar la pgina sin romper en el cdigo para ver elorigen
del error en Visual Studio.
Pgina 190
2. Revise la ErrorPage.aspx muestra en el navegador.

Como se puede ver en los detalles del error, la excepcin fue atrapado por la seccin CustomError
en el Web.config archivo.

Adicin de aplicaciones de nivel de tratamiento de errores


En lugar de atrapar la excepcin usando la seccin customErrors en el Web.config archivo,
dondeusted ganar poca informacin acerca de la excepcin, puede interceptar el error a nivel de
aplicacin y recuperar los detalles del error.
1. En el Explorador de soluciones, encontrar y abrir la Global.asax.cs archivo.
2. Aadir un Application_Error manejador para que aparezca la siguiente manera:

Pgina 191

Cuando se produce un error en la aplicacin, el manejador Application_Error se llama. En esto


manejador, se recupera y se revis la ltima excepcin. Si la excepcin fue controlada y la
excepcin contiene detalles del centro de la excepcin (es decir, InnerException no es nulo), el
transferencias de solicitud de ejecucin de la pgina de error en el que se muestran los detalles de
la excepcin.
Ejecutar la aplicacin
Puede ejecutar la aplicacin para ver los detalles del error adicionales proporcionados por el
manejo de la excepcin a nivel de aplicacin.
1. Presione CTRL + F5 para ejecutar la aplicacin de ejemplo Wingtip Toys.La aplicacin tira el
InvalidOperationException.
Pgina 192
2. Revise la ErrorPage.aspx muestra en el navegador.

Adicin de pgina de nivel Control de errores


Puede agregar el control de errores a nivel de pgina a una pgina ya sea mediante el uso de la
adicin de un ErrorPage atribuir a la directiva @ Page de la pgina, o mediante la adicin de un
controlador de eventos Page_Error a la cdigo subyacente de una pgina. En esta seccin,
agregar un controlador de eventos Page_Error que lo har transferir la ejecucin a la
ErrorPage.aspx pgina.
1. En el Explorador de soluciones, encontrar y abrir la Default.aspx.cs archivo.
2. Agregue un controlador Page_Error para que el cdigo subyacente aparece como sigue:

Pgina 193

Cuando se produce un error en la pgina, el controlador de eventos Page_Error se llama. En este


controlador, el se recupera y revisado ltima excepcin. Si se produce un
InvalidOperationException, la Controlador de eventos Page_Error transfiere la ejecucin a la
pgina de error en los detalles de la excepcin se muestran.

Ejecutar la aplicacin
Puede ejecutar la aplicacin ahora para ver las rutas actualizadas.
1. Presione CTRL + F5 para ejecutar la aplicacin de ejemplo Wingtip Toys.La aplicacin tira el
InvalidOperationException.
Pgina 194
2. Revise la ErrorPage.aspx muestra en el navegador.

3. Cierre la ventana del navegador.

Extraccin de la Excepcin utilizados para las pruebas


Para permitir la aplicacin de ejemplo Wingtip Toys para funcionar sin tirar la excepcin que
agregado anteriormente en este tutorial, quitar la excepcin.
1. Abra el cdigo subyacente del Default.aspx pgina.
2. En el controlador de Page_Load, quitar el cdigo que produce la excepcin para que el
manejador aparece como sigue:

Pgina 195

Agregar cdigo-Nivel de registro de error

Como se mencion anteriormente en este tutorial, puede aadir declaraciones try / catch para
intentar ejecutar un seccin del cdigo y manejar el primer error que se produce. En este ejemplo,
slo escribir el detalles del error en el archivo de registro de errores de manera que el error se
pueden revisar ms tarde.
1. En el Explorador de soluciones, en la lgica de carpetas, busque y abra la PayPalFunctions.cs
archivo.
2. Actualizar el mtodo HttpCall para que el cdigo aparece como sigue:

El cdigo anterior llama al mtodo LogException que se contiene en el ExceptionUtility clase.


Aadiste el ExceptionUtility.cs archivo de clase a la lgica carpeta anteriormente en este tutorial.
los Mtodo LogException toma dos parmetros. El primer parmetro es el objeto de excepcin. los
segundo parmetro es una cadena que se utiliza para reconocer la fuente del error.

Inspeccin de la Informacin de Registro de errores


Como se mencion anteriormente, puede utilizar el registro de errores para determinar qu
errores en su aplicacin debe fijarse primero. Por supuesto, slo los errores que han sido
atrapados y escritas a el registro de errores se grabar.
Pgina 196

1. En el Explorador de soluciones, encontrar y abrir la ErrorLog.txt archivo en el App_Data


carpeta.Puede que tenga que seleccionar la opcin "Mostrar todos los archivos opcin" o "Refresh
opcin" 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 aplicacin muestra mensajes de error, no se debe
darinformacin de distancia que un usuario malintencionado podra resultar til en el ataque a su
aplicacin. por ejemplo, si su aplicacin 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 razn,
un error genrico mensaje en rojo se muestra al usuario. Todos los detalles del error adicionales
slo se expresan en nmeros desarrollador en el equipo local.

Usando ELMAH
ELMAH (Mdulos de registro de error y manipuladores) es un centro de registro de errores que se
conecta a su Aplicacin ASP.NET como un paquete NuGet. ELMAH proporciona las siguientes
capacidades:
4. Registro de excepciones no controladas.
5. Una pgina web para ver todo el registro de excepciones recodificados no controlada.

Pgina 197
6. Una pgina web para ver los detalles completos de cada excepcin conectado.
7. Una notificacin por correo electrnico 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 fcil de usar el NuGet
paqueteinstalador. Como se mencion anteriormente en esta serie de tutoriales, NuGet es una
extensin de Visual Studio que hace que sea fcil de instalar y actualizar las bibliotecas y
herramientas de cdigo abierto en Visual Studio.
1. Dentro de Visual Studio, desde el Herramientas men, seleccione Biblioteca Package Manager >Administrar paquetes NuGet para solucin.

2. La Administrar NuGet Paquetes cuadro de dilogo se muestra dentro de Visual Studio.


3. En el Administrar NuGet Paquetes cuadro de dilogo, expanda en lnea a la izquierda, y luego
seleccionenuget.org. Entonces, encontrar e instalar el ELMAH paquete de la lista de paquetes
disponibles en lnea.

4. Usted necesita tener una conexin a Internet para descargar el paquete.

Pgina 198
5. En el Seleccione Proyectos cuadro de dilogo, asegrese de que el WingtipToys se selecciona la
seleccin, ya continuacin, haga clic en Aceptar.

6. Haga clic en Cerrar en el Manejo de NuGet Paquetes cuadro de dilogo 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 raz de su
proyecto. Si Visual Studio le pregunta si desea volver a cargar la modificacin Web.config archivo,
haga clic en S.
ELMAH ya est listo para almacenar los errores no controlados que se producen.

Visualizacin de la ELMAH Conectarse


Visualizacin del registro ELMAH es fcil, pero primero va a crear una excepcin no controlada que
ser registrada en el registro de ELMAH.
1. Presione CTRL + F5 para ejecutar la aplicacin de ejemplo Wingtip Toys.
2. Para escribir una excepcin no controlada en el registro ELMAH, navegue en su navegador para
la siguiente URL (usando su nmero de puerto): http: // localhost: 1234 / NoPage.aspx Se mostrar
la pgina de error.
3. Para mostrar el registro ELMAH, navegue en su navegador para la siguiente URL (usando su
nmero de puerto):
Pgina 199
http: // localhost: 1234 / elmah.axd

Sumario
En este tutorial, que ha aprendido sobre el manejo de errores a nivel de aplicacin, el nivel de
pgina, y el nivel de cdigo. Tambin ha aprendido cmo iniciar sesin errores manejados y no
manejados para ms tarde resea. Aadiste la utilidad ELMAH proporcionar tala excepcin y
notificacin a su aplicacin utilizando NuGet. Adems, usted ha aprendido acerca de la
importancia de error segura mensajes.

Conclusin
Esto completa el ASP.NET 4.5 Wingtip Toys serie de tutoriales. Para obtener ms informacin
acerca de la nueva Caractersticas 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

Вам также может понравиться