aplicacionasp

28
Carrera Profesional de Computación e Informática Lenguaje de Programación Desarrollo de la Aplicación Importaciones Neptuno El sitio web debe permitir la venta por internet y estar habilitado para Registrar a cada cliente Validar al cliente Mostrar un catalogo de los productos en venta Generar un carrito de compras y permitir su administración Disponer de una pasarela de pago Disponer de un módulo de administración y mantenimiento del sitio Preparación el escenario de trabajo 1 Creación del directorio de trabajo Crear en su unidad de trabajo la carpeta AplicacionASP Inicie SQL Server 2008 y adjunte la base de datos cedido por el profesor del curso 2 Creación del proyecto en Visual Studio 2008 Inicie Visual Studio, Nuevo, Proyecto web, Neptuno 3 Definición del webform El layout será el siguiente Logotipo Imagen [email protected] Página 1 Julio Javier Larico Tipula

Upload: jlaricocom

Post on 22-Nov-2014

65 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

Desarrollo de la Aplicación Importaciones Neptuno

El sitio web debe permitir la venta por internet y estar habilitado para Registrar a cada cliente Validar al cliente Mostrar un catalogo de los productos en venta Generar un carrito de compras y permitir su administración Disponer de una pasarela de pago Disponer de un módulo de administración y mantenimiento del sitio

Preparación el escenario de trabajo1 Creación del directorio de trabajo

Crear en su unidad de trabajo la carpeta AplicacionASPInicie SQL Server 2008 y adjunte la base de datos cedido por el profesor del curso

2 Creación del proyecto en Visual Studio 2008Inicie Visual Studio, Nuevo, Proyecto web, Neptuno

3 Definición del webform

El layout será el siguiente

Logotipo Imagen

Categorías Contenido

4 Agregar las imágenesCrear la carpeta imagenes y agregar las imágenes entregadas por el profesor

[email protected] Página 1 Julio Javier Larico Tipula

Page 2: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

5 Creación del conjunto de marcos

Eliminar la Página default.aspxAgregar nuevo, elemento, HTML page cambiar de nombre a inicio.html

6 Cambia r a la vista código y agregar lo siguiente

</head><frameset rows="110,*" frameborder="1" framespacing="0"> <frameset cols="195,*"> <frame name="Logotipo" src="logotipo.htm" scrolling="no"> <frame name="Imagen" src="ImagenLema.htm" scrolling="no"> </frameset> <frameset cols="95,*"> <frame name="categorias" src="categorias.aspx"> <frame name="contenido" src="presentacion.htm"></frameset> </html>

7 Guarde y ejecute la página inicio.htm

[email protected] Página 2 Julio Javier Larico Tipula

Page 3: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

8 Muestra de la identificación de marca de la empresa, Página logotipo.htmAñada al proyecto web una nueva Página htm de nombre logotipo.htm

9 Estando en la página logotipo.htm cambia a la vista código y agregar lo siguiente

<body><img src="imagenes/Neptuno.jpg" alt="Produtos gourmet para el mundo" height=100></body>

10 Grabar el proyecto y ejecute la Página inicio.htm

Debe mostrar el logotipo agregar en la página logotipo.htm

[email protected] Página 3 Julio Javier Larico Tipula

Page 4: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

11 Muestra de la imagen lema. Página imagenlema.htm

Añada un nuevo, elemento al proyecto web, html page ponga como nombre ImagenLema.htm

12 Estando en la Página ImagenLema.htm cambie a la vista código

<body><img src="imagenes/Comunicandonos.jpg" width=580 ></body>

13 Guarde su proyecto y ejecute la página inicio.htm

[email protected] Página 4 Julio Javier Larico Tipula

Page 5: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

14 Creación de la página de presentación del sitio. Página presentación.htm

Agregar nuevo, elemento, Page html: presentación.htm

15 Cambiar a la vista código y agregar lo siguiente

<body>

<p>Somos la empresa lider en comercilización de productos alimenticios exóticos y le presentamos este sitio para que puedarealizar sus transacciones desde la comodidad de su escritorio.

<p>Puede consultar libremente nuestro catálogo General de Productos<a href="CatalogoProductos.aspx?categoria=Todas"><img src ="imagenes/CofreDorado.gif"alt ="Catalogo General" border="1" align="middle" width="47" height="50"></a>

<p>Registrese en nuestra página <a href="NuevoCliente.aspx"><img src="imagenes/OjoVigilante.gif" alt="Cliente Nuevo" border="0" align="middle"width="32" height ="31"></a>

y aproveche las ventajas de nuestros asociados

<p>Para mayor información <a href ="mailto:[email protected]? subject=Informacion adicional"><img src="imagenes/Correo.gif" border="1" alt="Consultenos sin compromiso" align="middle" width="50" height="50"></a>

Comuníquese con nosotros

</body>

16 Guarde todo y ejecute la página inicio.htm

[email protected] Página 5 Julio Javier Larico Tipula

Page 6: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

17 Preparación del Catalogo de Productos de la empresaCreación de la lista de preciosEn SQL Server 2008, ejecute el siguiente código

USE Nwindgo

CREATE VIEW v_ListaPreciosASSELECT IdProducto, NombreProducto, IdCategoría, CantidadPorUnidad, PrecioUnidadFROM productosgo

SELECT * FROM v_ListaPreciosGo

[email protected] Página 6 Julio Javier Larico Tipula

Page 7: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

18 Modificación de la tabla CategoríasEjecute el siguiente código

Use NWINDGo

ALTER TABLE categorías DROP COLUMN Imagengo

-- Cambia algunos nombres de categoríaUPDATE categorías SET NombreCategoría = 'Salsas'

WHERE IdCategoría = 2UPDATE categorías SET NombreCategoría = 'Cereales'

WHERE IdCategoría = 5UPDATE categorías SET NombreCategoría = 'Vegetales'

WHERE IdCategoría = 7UPDATE categorías SET NombreCategoría = 'Pescados'

WHERE IdCategoría = 8Go

19 Creación del menú de categorias de Productos. Página categorías.aspx

Cambiar a la vista código y agregar el siguiente código en la seccion head

<head runat="server"> <title>Página sin título</title> <base target="contenido"></head>

Agregar el siguiente código en la sección body

<form id="form1" runat="server"> <div>

[email protected] Página 7 Julio Javier Larico Tipula

Page 8: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

<asp:datalist ID="dlCategorias" BorderWidth="0" runat ="server"> <itemTemplate> <table align="center"> <tr> <td width="50" align ="center"> <a href ='<%# databinder.eval(container.dataitem,"idCategoría","catalogoproductos.aspx?categoria={0}") %>'> <img src='<%# databinder.eval(container.dataitem,"idcategoría","Imagenes/cat{0}.gif")%>' width=48 height=48 border=1> </a> <%#DataBinder.Eval(Container.DataItem, "NombreCategoría")%> <br> </td> </tr> </table> </ItemTemplate> </asp:datalist> </div> </form>

20 Cambiar al modo diseño y hacer doble clic sobre un área libre para agregar el siguiente código

Imports System.Data.SqlClientPartial Public Class categorias Inherits System.Web.UI.Page

Protected Sub Page_Load( ) Handles Me.Load If Not (Page.IsPostBack) Then Dim ds As DataSet Dim cn As SqlConnection Dim da As SqlDataAdapter cn = New SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Nwind;Data Source=PCSERVER") da = New SqlDataAdapter("select idcategoría,nombrecategoría from categorías", cn) ds = New DataSet da.Fill(ds, "categorias") dlCategorias.DataSource = ds.Tables("categorias").DefaultView dlCategorias.DataBind( ) End If End SubEnd Class

Guarde y ejecute el proyecto

[email protected] Página 8 Julio Javier Larico Tipula

Page 9: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

21 Creación de la página que genera el catalogo de productos. Página CatalogoProductos.aspx

Agregar al proyecto una nueva página y grabar con nombre CatalogoProductos.aspx

Estando en la vista código de la Página CatalogoProductos.aspx agregar lo siguiente

<form id="form1" runat="server"> <div> <asp:datalist ID="dlProductos" BorderWidth ="0" runat ="server"> <HeaderTemplate> <Table width="655" border="1" align="center" cellspacing="0"> <tr> <td>IdProducto</td> <td>Nombre</td> <td>Unidad Medida</td> <td colspan="2">Precio Unitario</td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td align="center"><%# databinder.eval(container.dataitem,"IdProducto")%></td> <td><%# databinder.eval(container.dataitem,"NombreProducto") %></td> <td align="center"><%# databinder.eval(container.dataitem,"CantidadPorUnidad") %></td> <td align ="right"><%# databinder.eval(container.dataitem,"PrecioUnidad","{0:c}") %></td> <td align ="center"><a href='<%# databinder.eval(container.dataitem,"IdProducto","AgregarAlCarrito.aspx?IdProducto") %>'> <img src="imagenes/AgregarCarrito.gif" alt="Agregar al carrito" border="0"> </a> </td> </tr> </ItemTemplate> <FooterTemplate> </Table> </FooterTemplate> </asp:datalist> </div> </form>

22 Cambie a la vista diseño

[email protected] Página 9 Julio Javier Larico Tipula

Page 10: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

23 Estando en la vista diseño de la Página CatalogoProductos.aspx, haga doble clic en la página aspx para agregar el siguiente código.

Imports System.Data.SqlClientPartial Public Class CatalogoProductos Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim ds As DataSet Dim cn As SqlConnection Dim da As SqlDataAdapter Dim categoria As String

categoria = UCase(Request.QueryString("Categoria")) cn = New SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Nwind;Data Source=PCSERVER")

If categoria = "TODAS" Then da = New SqlDataAdapter("select * from v_ListaPrecios", cn) Else da = New SqlDataAdapter("select * from v_ListaPrecios where IdCategoría='" & categoria & "'", cn) End If

ds = New DataSet da.Fill(ds, "Productos")

dlProductos.DataSource = ds.Tables("Productos").DefaultView dlProductos.DataBind() End SubEnd Class

24 Para probar el proyecto, ejecute la página inicio.htm

25 Uso de las hojas de estilo

[email protected] Página 10 Julio Javier Larico Tipula

Page 11: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

Agregar un nuevo Item, StyleSheet, Neptuno.css

Agregar el siguiente código

body { background-color:#FFDAB9; font-family:Verdana, arial; font-size:11; }table, td { font-size:8pt; font-family:Verdana; }.titulo { text-align :center ; font-size:11pt; font-weight :bold ; }.subtitulo { text-align :center ; font-size :8pt; font-weight:bold; }.tituloIzquierdo { text-align:left ; font-size :11pt; font-weight :bold ; }.tituloDerecho { text-align :right ; font-size:11pt; font-weight :bold ;}.tituloMenor { text-align:center; font-size :8pt; font-weight :bold ;}.tituloIzqMenor { text-align :left; font-size :8; font-weight :bold;}.tituloDerMenor { text-align:right ; font-size :8pt; font-weight :bold; }A:link { color:Blue ; text-decoration :none;}A:visited {

[email protected] Página 11 Julio Javier Larico Tipula

Page 12: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

color:Red; text-decoration :none;}A:hover { color:Maroon; text-decoration :underline;}input { font-size:9pt; font-family:Verdana ; }.boton { font-size :9pt; font-family :Verdana ; font-weight :bold;}

26 Aplicación de la hoja de estilo a la Página logotipo.htm

<head> <title>Desarrollado por Julio Larico</title> <link href ="neptuno.css" rel="Stylesheet" type ="text/css" ></head>

27 De igual modo, aplicar la hoja de estilo a la Página ImagenLema.htm, Presentacion.htm,Categorias.aspx y CatalogoProductos.aspx

28 Guarde los cambios y ejecute la aplicación. (inicio.htm)

[email protected] Página 12 Julio Javier Larico Tipula

Page 13: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

29 Registro de un nuevo cliente

Para continuar con el presente proyecto, es necesario modificar la base de datos, tabla clientes. Para ello siga las instrucciones del docente.

Creación de la página de Registro de Nuevo Cliente. NuevoCliente.aspx

Agregar, Nuevo Item, Web Form

30 Situar el cursor dentro del área div e insertar una tabla con la siguiente configuración (21 col)

[email protected] Página 13 Julio Javier Larico Tipula

Page 14: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

31 Diseñar lo siguiente

32 Cambiar las propiedades de acuerdo a la siguiente tabla

Objeto Propiedad Id MaxLength

Textbox1 ID txtNomEmp 40

Textbox2 ID txtID 5

Textbox3 ID txtDir 60

Textbox4 ID txtCiu 15

Textbox5 ID txtReg 15

Textbox6 ID txtCodPos 10

Textbox7 ID txtPais 15

Textbox8 ID txtTel 24

Textbox9 ID txtFax 24

Textbox10 ID txtNomCon 30

Textbox11 ID txtCar 30

Textbox12 ID txtEmail 40

Textbox13 ID txtPass 20

[email protected] Página 14 Julio Javier Larico Tipula

Page 15: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

33 Para agregar el botón, haga clic en dicha celda, cambie a la vista código y escribir lo siguiente

<input type="submit" value="Aceptar" onserverclick="RegistrarCliente_Click" class="boton" runat="server" />

34 Combinar la última fila

35 Ubicar el cursor en la última fila, cambiar a la vista código y agregar lo siguiente<asp: Label ID="Mensaje" runat="server" Text="Label"></asp:Label>

36 Cambie a la vista diseño, haga doble clic sobre el formulario web para abrir la vista código en el archivo NuevoCliente.aspx.vb

Importar el espacio de nombresImports System.Data.SqlClient

37 En declaraciones agregar el siguiente codigoDim strCon As StringDim cn As SqlConnection

38 En el evento load de la página agregar lo siguienteProtected Sub Page_Load( ) Handles Me.Load strCon = "Data source=PCSERVER; Initial Catalog=Nwind; Integrated Security=SSPI" cn = New SqlConnection(strCon)End Sub

39 Defina el procedimiento RegistrarCliente_Click que sera invocado por el boton Aceptar del formulario

40 Agregar el siguiente código para el procedimiento RegistrarCliente_Click

Sub RegistrarCliente_Click(ByVal sender As Object, ByVal e As EventArgs) If Not (Request.Form Is "") Then Dim comandoSQL As SqlCommand If txtNomEmp.Text = "" Then Mensaje.Text = "Error: El nombre es obligatorio" Mensaje.ForeColor = Drawing.Color.Red Return

[email protected] Página 15 Julio Javier Larico Tipula

Page 16: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

End If

Dim strInsert As String = "Insert into Clientes(Idcliente,NombreCompañía ,NombreContacto,CargoContacto,Dirección,Ciudad,Región,CódPostal,País,Teléfono,Fax,Email,Clave) values(@Id,@NomEmp,@NomCon,@Car,@Dir,@Ciu,@Reg,@CodPos,@Pais,@Tel,@Fax,@Email,@Clave)" comandoSQL = New SqlCommand(strInsert, cn)

comandoSQL.Parameters.Add(New SqlParameter("@Id", SqlDbType.NVarChar, 5)) comandoSQL.Parameters("@Id").Value = txtD.Text

comandoSQL.Parameters.Add(New SqlParameter("@NomEmp", SqlDbType.NVarChar, 40)) comandoSQL.Parameters("@NomEmp").Value = txtNomEmp.Text

comandoSQL.Parameters.Add(New SqlParameter("@NomCon", SqlDbType.NVarChar, 30)) comandoSQL.Parameters("@NomCon").Value = txtNomCon.Text

comandoSQL.Parameters.Add(New SqlParameter("@Car", SqlDbType.NVarChar, 30)) comandoSQL.Parameters("@Car").Value = txtCar.Text

comandoSQL.Parameters.Add(New SqlParameter("@Dir", SqlDbType.NVarChar, 60)) comandoSQL.Parameters("@Dir").Value = txtDir.Text

comandoSQL.Parameters.Add(New SqlParameter("@Ciu", SqlDbType.NVarChar, 15)) comandoSQL.Parameters("@Ciu").Value = txtCiudad.Text

comandoSQL.Parameters.Add(New SqlParameter("@Reg", SqlDbType.NVarChar, 15)) comandoSQL.Parameters("@Reg").Value = txtRegion.Text

comandoSQL.Parameters.Add(New SqlParameter("@CodPos", SqlDbType.NVarChar, 10)) comandoSQL.Parameters("@CodPos").Value = txtCodPos.Text

comandoSQL.Parameters.Add(New SqlParameter("@Pais", SqlDbType.NVarChar, 15)) comandoSQL.Parameters("@Pais").Value = txtPais.Text

comandoSQL.Parameters.Add(New SqlParameter("@Tel", SqlDbType.NVarChar, 24)) comandoSQL.Parameters("@Tel").Value = txtTel.Text

comandoSQL.Parameters.Add(New SqlParameter("@Fax", SqlDbType.NVarChar, 24)) comandoSQL.Parameters("@Fax").Value = txtFax.Text

comandoSQL.Parameters.Add(New SqlParameter("@Email", SqlDbType.NVarChar, 40)) comandoSQL.Parameters("@Email").Value = txtEmail.Text

comandoSQL.Parameters.Add(New SqlParameter("@Clave", SqlDbType.NVarChar, 20)) comandoSQL.Parameters("@Clave").Value = txtPass.Text

comandoSQL.Connection.Open()

[email protected] Página 16 Julio Javier Larico Tipula

Page 17: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

Try comandoSQL.ExecuteNonQuery() Mensaje.Text = "Registro añadido" Catch ex As Exception Mensaje.Text = "Error" & ex.Message Mensaje.ForeColor = Drawing.Color.Red End Try comandoSQL.Connection.Close() End If End Sub

Guarde y ejecute su proyecto. Inicio.htm

[email protected] Página 17 Julio Javier Larico Tipula

Page 18: AplicacionASP

Carrera Profesional de Computación e Informática Lenguaje de Programación

Congratulaciones….

Ahora nos queda implementar el Carrito de Compras.

Eso lo veremos en la segunda parte del Proyecto.

[email protected] Página 18 Julio Javier Larico Tipula