Sei sulla pagina 1di 33

tor al cual le pase el Id del producto y me devuelva el la descripcin y el precio del mismo.

Clase Producto
1. namespace CarroDeComprasEjemplo
2. {
3. public class Producto
4. {
5. public int Id { get; set; }
6. public decimal Precio { get; set; }
7. public string Descripcion { get; set; }
8.
9. public Producto(int pId)
10. {
11. Id = pId;
12. //esta ser la lista de productos y precios
13. switch (pId)
14. {
15. case 1:
16. Descripcion = Zapatos Deportivos;
17. //lo puedo convertir para que me lo tome
como decimal
18. Precio = Convert.ToDecimal(50.90);
19. break;
20. case 2:
21. Descripcion = Camisas Deportivas;
22. //es igual que convertirlo solo que le estoy
diciendo que es decimal
23. Precio = 15.50m;
24. break;
25. case 3:
26. Descripcion = Pantalones Cortos;
27. Precio = 12.50m;
28. break;
29. case 4:
30. Descripcion = Sandalias;
31. Precio = 5m;
32. break;
33. case 5:
34. Descripcion = Bxer;
35. Precio = 2.75m;
36. break;
37. }
38. }
39. }
40. }
Ahora tendramos que crear una clase que me maneje los productos y la cantidad de los mismos
que sern enviados al carro de compras.

Esta clase tiene que ser capaz de decirme o encontrarme un producto de los que estoy
introduciendo en el carro de compras. Para ello utilizare una interfaz genrica que me los filtre,
la que ocupare ser IEquatable.
Clase ProductosAlCarro
1. namespace CarroDeComprasEjemplo
2. {
3. public class ProductosAlCarro : IEquatable<ProductosAlCarro>
4. {
5. }
6. }
Colocare las atributos siguientes.
Clase ProductosAlCarro
1. namespace CarroDeComprasEjemplo
2. {
3. public class ProductosAlCarro : IEquatable<ProductosAlCarro>
4. {
5. public int Cantidad { get; set; }
6. private int _IdProducto;
7. private Producto _producto = null;
8. }
9. }
En esta clase tenemos que manejar tres cosas la cantidad de producto el id del producto y una
instancia que me permita tener acceso al catalogo de productos. encapsularemos el id y
producto nos quedara as:
Clase ProductosAlCarro
1. namespace CarroDeComprasEjemplo
2. {
3. public class ProductosAlCarro : IEquatable<ProductosAlCarro>
4. {
5. public int Cantidad { get; set; }
6. private int _IdProducto;
7. private Producto _producto = null;
8.
9. public int IdProducto
10. {
11. get { return _IdProducto; }
12. set
13. {
14. _producto = null;
15. _IdProducto = value;
16. }
17. }
18.
19. public Producto Producto
20. {
21. get
22. {
23. if (_producto == null)
24. {
25. _producto = new Producto(IdProducto);
26. }
27. return _producto;
28. }
29. }
30. }
31. }
En el encapsulador del id hay que hacer un nuevo producto volvindolo null para que siempre
nos introduzca un nuevo producto al carro de compras. En el de productos solo hay que ver si el
producto viene vaco o no.
Bueno ahora hay que hacer unas propiedades que me manejen la descripcin del producto y el
precio unitario de cada producto adems del total de productos:
Clase ProductosAlCarro
1. namespace CarroDeComprasEjemplo
2. {
3. public class ProductosAlCarro : IEquatable<ProductosAlCarro>
4. {
5. public int Cantidad { get; set; }
6. private int _IdProducto;
7. private Producto _producto = null;
8.
9. public int IdProducto
10. {
11. get { return _IdProducto; }
12. set
13. {
14. _producto = null;
15. _IdProducto = value;
16. }
17. }
18.
19. public Producto Producto
20. {
21. get
22. {
23. if (_producto == null)
24. {
25. _producto = new Producto(IdProducto);
26. }
27. return _producto;
28. }
29. }
30.
31. public string Descripcion
32. {
33. get { return Producto.Descripcion; }
34. }
35. public decimal PrecioUnitario
36. {
37. get { return Producto.Precio; }
38. }
39. public decimal Total
40. {
41. get { return PrecioUnitario * Cantidad; }
42. }
43. }
44. }
Con esto solo necesitare un constructor que me tome como parmetro el id del producto as
como usar el mtodo Equals para filtrar los distintos productos que tenga en mi carro de
compras.
Clase ProductosAlCarro
1. namespace CarroDeComprasEjemplo
2. {
3. public class ProductosAlCarro : IEquatable<ProductosAlCarro>
4. {
5. public int Cantidad { get; set; }
6. private int _IdProducto;
7. private Producto _producto = null;
8.
9. public int IdProducto
10. {
11. get { return _IdProducto; }
12. set
13. {
14. _producto = null;
15. _IdProducto = value;
16. }
17. }
18.
19. public Producto Producto
20. {
21. get
22. {
23. if (_producto == null)
24. {
25. _producto = new Producto(IdProducto);
26. }
27. return _producto;
28. }
29. }
30.
31. public string Descripcion
32. {
33. get { return Producto.Descripcion; }
34. }
35. public decimal PrecioUnitario
36. {
37. get { return Producto.Precio; }
38. }
39. public decimal Total
40. {
41. get { return PrecioUnitario * Cantidad; }
42. }
43.
44. public ProductosAlCarro(int pId)
45. {
46. IdProducto = pId;
47. }
48.
49. public bool Equals(ProductosAlCarro pItem)
50. {
51. return pItem.IdProducto == IdProducto;
52. }
53. }
54. }
Con esto tengo dos clase una que me maneja los producto y otra que me maneja dichos
productos en el carro de compras. Hoy solo tengo que tener una clase que me maneje el carro de
compras y me guarde en una lista los productos que han sido comprados o seleccionados.

Esta clase que me permitira seleccionar un producto, guardar uno producto y eliminar un
producto del carro de compras. Primero crearemos una lista para guardar todos los productos
dentro del carro de compras:
Clase CarroDeCompras
1. namespace CarroDeComprasEjemplo
2. {
3. public class CarroDeCompras
4. {
5. public List<ProductosAlCarro> ListaProductos
{ get; private set; }
6. }
7. }
Crearemos un mtodo que me capture el producto que ser enviado al carro de compras (la
lista), para este caso usaremos unas variables de seccin entre la pagina que muestra el catalogo
y laque me muestra los productos en al carro de compras.
Clase CarroDeCompras
1. namespace CarroDeComprasEjemplo
2. {
3. public class CarroDeCompras
4. {
5. public List<ProductosAlCarro> ListaProductos
{ get; privateset; }
6.
7. public static CarroDeCompras CapturarProducto()
8. {
9. CarroDeCompras _carrito =
(CarroDeCompras)HttpContext.Current.Session["ASPCarroDeCompras"];
10. if (_carrito == null)
11. {
12. HttpContext.Current.Session["ASPCarroDeCompras"]
= _carrito = new CarroDeCompras();
13. }
14. return _carrito;
15. }
16. }
17. }
Ahora hay que hacer un constructor que me permita hacer una lista de productos, recuerda que
nos solo una persona comprara en lnea as que cada persona hay que hacerle una lista de
productos.
Crearemos un mtodo me debe de identificar si ya hay productos en el carro de compras si los
hay solo tenemos que sumar a la cantidad de producto un producto mas sino hay hay que
agregarle una a la cantidad de producto as que veamos como queda:
Clase CarroDeCompras
1. namespace CarroDeComprasEjemplo
2. {
3. public class CarroDeCompras
4. {
5. public List<ProductosAlCarro> ListaProductos
{ get; privateset; }
6.
7. public static CarroDeCompras CapturarProducto()
8. {
9. CarroDeCompras _carrito =
(CarroDeCompras)HttpContext.Current.Session["ASPCarroDeCompras"];
10. if (_carrito == null)
11. {
12. HttpContext.Current.Session["ASPCarroDeCompras"]
= _carrito = new CarroDeCompras();
13. }
14. return _carrito;
15. }
16.
17. protected CarroDeCompras()
18. {
19. ListaProductos = new List<ProductosAlCarro>();
20. }
21.
22. public void Agregar(int pIdProducto)
23. {
24. ProductosAlCarro NuevoProducto
= newProductosAlCarro(pIdProducto);
25. if (ListaProductos.Contains(NuevoProducto))
26. {
27. foreach (ProductosAlCarro item in ListaProductos
)
28. {
29. if (item.Equals(NuevoProducto))
30. {
31. item.Cantidad++;
32. return;
33. }
34. }
35. }
36. else
37. {
38. NuevoProducto.Cantidad = 1;
39. ListaProductos.Add(NuevoProducto);
40. }
41. }
42. }
43. }
Hoy tenemos que hacer un mtodo que me permita eliminar un producto de la lista que tengo si
ya no lo quiero esto es relativamente fcil quedara as:
Clase CarroDeCompras
1. namespace CarroDeComprasEjemplo
2. {
3. public class CarroDeCompras
4. {
5. public List<ProductosAlCarro> ListaProductos
{ get; privateset; }
6.
7. public static CarroDeCompras CapturarProducto()
8. {
9. CarroDeCompras _carrito =
(CarroDeCompras)HttpContext.Current.Session["ASPCarroDeCompras"];
10. if (_carrito == null)
11. {
12. HttpContext.Current.Session["ASPCarroDeCompras"]
= _carrito = new CarroDeCompras();
13. }
14. return _carrito;
15. }
16.
17. protected CarroDeCompras()
18. {
19. ListaProductos = new List<ProductosAlCarro>();
20. }
21.
22. public void Agregar(int pIdProducto)
23. {
24. ProductosAlCarro NuevoProducto
= newProductosAlCarro(pIdProducto);
25. if (ListaProductos.Contains(NuevoProducto))
26. {
27. foreach (ProductosAlCarro item in ListaProductos
)
28. {
29. if (item.Equals(NuevoProducto))
30. {
31. item.Cantidad++;
32. return;
33. }
34. }
35. }
36. else
37. {
38. NuevoProducto.Cantidad = 1;
39. ListaProductos.Add(NuevoProducto);
40. }
41. }
42.
43. public void EliminarProductos(int pIdProducto)
44. {
45. ProductosAlCarro eliminaritems
= newProductosAlCarro(pIdProducto);
46. ListaProductos.Remove(eliminaritems);
47. }
48. }
49. }
Hoy tendramos que hacer un mtodo queme permita ver o saber la cantidad de productos en el
carro de compras para que me sirve esto es para actualizar la cantidad cuando compre mas del
mismo producto o cuando compre otro producto, que daria as:
Clase CarroDeCompras
1. namespace CarroDeComprasEjemplo
2. {
3. public class CarroDeCompras
4. {
5. public List<ProductosAlCarro> ListaProductos
{ get; privateset; }
6.
7. public static CarroDeCompras CapturarProducto()
8. {
9. CarroDeCompras _carrito =
(CarroDeCompras)HttpContext.Current.Session["ASPCarroDeCompras"];
10. if (_carrito == null)
11. {
12. HttpContext.Current.Session["ASPCarroDeCompras"]
= _carrito = new CarroDeCompras();
13. }
14. return _carrito;
15. }
16.
17. protected CarroDeCompras()
18. {
19. ListaProductos = new List<ProductosAlCarro>();
20. }
21.
22. public void Agregar(int pIdProducto)
23. {
24. ProductosAlCarro NuevoProducto
= newProductosAlCarro(pIdProducto);
25. if (ListaProductos.Contains(NuevoProducto))
26. {
27. foreach (ProductosAlCarro item in ListaProductos
)
28. {
29. if (item.Equals(NuevoProducto))
30. {
31. item.Cantidad++;
32. return;
33. }
34. }
35. }
36. else
37. {
38. NuevoProducto.Cantidad = 1;
39. ListaProductos.Add(NuevoProducto);
40. }
41. }
42.
43. public void EliminarProductos(int pIdProducto)
44. {
45. ProductosAlCarro eliminaritems
= newProductosAlCarro(pIdProducto);
46. ListaProductos.Remove(eliminaritems);
47. }
48.
49. public void CantidadDeProductos(int pIdProducto, intpCan
tidad)
50. {
51. if (pCantidad == 0)
52. {
53. EliminarProductos(pIdProducto);
54. return;
55. }
56. ProductosAlCarro updateProductos
= newProductosAlCarro(pIdProducto);
57. foreach (ProductosAlCarro item in ListaProductos)
58. {
59. if (item.Equals(updateProductos))
60. {
61. item.Cantidad = pCantidad;
62. return;
63. }
64. }
65. }
66. }
67. }
Por ultimo en esta clase sacaremos los subtotales por producto que hemos agregado al carro de
compras:
Clase CarroDeCompras
1. namespace CarroDeComprasEjemplo
2. {
3. public class CarroDeCompras
4. {
5. public List<ProductosAlCarro> ListaProductos
{ get; privateset; }
6.
7. public static CarroDeCompras CapturarProducto()
8. {
9. CarroDeCompras _carrito =
(CarroDeCompras)HttpContext.Current.Session["ASPCarroDeCompras"];
10. if (_carrito == null)
11. {
12. HttpContext.Current.Session["ASPCarroDeCompras"]
= _carrito = new CarroDeCompras();
13. }
14. return _carrito;
15. }
16.
17. protected CarroDeCompras()
18. {
19. ListaProductos = new List<ProductosAlCarro>();
20. }
21.
22. public void Agregar(int pIdProducto)
23. {
24. ProductosAlCarro NuevoProducto
= newProductosAlCarro(pIdProducto);
25. if (ListaProductos.Contains(NuevoProducto))
26. {
27. foreach (ProductosAlCarro item in ListaProductos
)
28. {
29. if (item.Equals(NuevoProducto))
30. {
31. item.Cantidad++;
32. return;
33. }
34. }
35. }
36. else
37. {
38. NuevoProducto.Cantidad = 1;
39. ListaProductos.Add(NuevoProducto);
40. }
41. }
42.
43. public void EliminarProductos(int pIdProducto)
44. {
45. ProductosAlCarro eliminaritems
= newProductosAlCarro(pIdProducto);
46. ListaProductos.Remove(eliminaritems);
47. }
48.
49. public void CantidadDeProductos(int pIdProducto, intpCan
tidad)
50. {
51. if (pCantidad == 0)
52. {
53. EliminarProductos(pIdProducto);
54. return;
55. }
56. ProductosAlCarro updateProductos
= newProductosAlCarro(pIdProducto);
57. foreach (ProductosAlCarro item in ListaProductos)
58. {
59. if (item.Equals(updateProductos))
60. {
61. item.Cantidad = pCantidad;
62. return;
63. }
64. }
65. }
66.
67. public decimal SubTotal()
68. {
69. decimal subtotal = 0;
70. foreach (ProductosAlCarro item in ListaProductos)
71. {
72. subtotal += item.Total;
73. }
74. return subtotal;
75. }
76. }
77. }
Con esto solo seria dibujar nuestros webform y programarlos y as ya tenemos nuestro carro de
compras los siguiente no vamos a hondar mucho solo seria implementar esta programacin.
Comencemos la implementacin creando un WeBForms que llamaremos CatalogoProductos.
CatalogoProductos
1. <%@ Page Language=C# AutoEventWireup=trueCodeBehind=Catalogo
Productos.aspx.csInherits=CarroDeComprasEjemplo.CataloProductos
%>
2.
3. <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0
Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd&gt;
4.
5. <html xmlns=http://www.w3.org/1999/xhtml&gt;
6. <head runat=server>
7. <title></title>
8. </head>
9. <body>
10. <form id=form1 runat=server>
11. <div>
12.
13. </div>
14. </form>
15. </body>
16. </html>
Recordemos que no entrare en detalles en esta parte, este WebForms quedara as:
CatalogoProductos
1. <%@ Page Language=C# AutoEventWireup=trueCodeBehind=Catalogo
Productos.aspx.csInherits=CarroDeComprasEjemplo.CataloProductos
%>
2.
3. <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0
Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd&gt;
4.
5. <html xmlns=http://www.w3.org/1999/xhtml&gt;
6. <head runat=server>
7. <title></title>
8. <style type=text/css>
9. .style1
10. {
11. width: 995px;
12. }
13. .style2
14. {
15. width: 2387px;
16. }
17. .style3
18. {
19. width: 783px;
20. }
21. </style>
22. </head>
23. <body>
24. <form id=form1 runat=server>
25. <div>
26. <table style=width: 600px; border:1px;>
27. <thead>
28. <tr style=border:1px;>
29. <th colspan=2 style=font-size: x-
large; font-weight: bold; text-align: center;
30. text-transform: uppercase; background-
color: #999999; color: #FFFFFF;>
31. Tienda al mayoreo
32. </th>
33. </tr>
34. </thead>
35. <tbody>
36. <tr style=border:1px;>
37. <td class=style2 style=font-size:
larger;font-weight: bold; text-align: left;
38. text-transform: capitalize;>
39. Zapatos Deportivos
40. </td>
41. <td class=style3>
42. <asp:LinkButton ID=lbZapatos runat=se
rveronclick=lbZapatos_Click >Agregar al
Carrito</asp:LinkButton>
43. </td>
44. </tr>
45. <tr style=border:1px;>
46. <td class=style2 style=font-size:
larger;font-weight: bold; text-align: left;
47. text-transform: capitalize;>
48. Camisas Deportivas
49. </td>
50. <td class=style3>
51. <asp:LinkButton ID=lbCamisas runat=se
rveronclick=lbCamisas_Click>Agregar al
Carrito</asp:LinkButton>
52. </td>
53. </tr>
54. <tr style=border:1px;>
55. <td class=style2 style=font-size:
larger;font-weight: bold; text-align: left;
56. text-transform: capitalize;>
57. Pantalones Cortos
58. </td>
59. <td class=style3>
60. <asp:LinkButton ID=lbPantalonesrunat=
server onclick=lbPantalones_Click>Agregar al
Carrito</asp:LinkButton>
61. </td>
62. </tr>
63. <tr style=border:1px;>
64. <td class=style2 style=font-size:
larger;font-weight: bold; text-align: left;
65. text-transform: capitalize;>
66. Sandalias
67. </td>
68. <td class=style3>
69. <asp:LinkButton ID=lbSandaliasrunat=s
erver onclick=lbSandalias_Click>Agregar al
Carrito</asp:LinkButton>
70. </td>
71. </tr>
72. <tr style=border:1px;>
73. <td class=style2 style=font-size:
larger;font-weight: bold; text-align: left;
74. text-transform: capitalize;>
75. Boxer
76. </td>
77. <td class=style3>
78. <asp:LinkButton ID=lbBoxer runat=serv
eronclick=lbBoxer_Click>Agregar al Carrito</asp:LinkButton>
79. </td>
80. </tr>
81. <tr style=border:1px;>
82. <td class=style1 colspan=2>
83. </td>
84. </tr>
85. </tbody>
86. </table>
87. </div>
88. </form>
89. </body>
en modo e diseo se vera as:

En clic de los linkButton programaramos esto:
CatalogoProductos
1. namespace CarroDeComprasEjemplo
2. {
3. public partial class CataloProductos : System.Web.UI.Page
4. {
5. protected void Page_Load(object sender, EventArgs e)
6. {
7.
8. }
9.
10. protected void lbZapatos_Click(object sender, EventArgs
e)
11. {
12. CarroDeCompras carrito
=CarroDeCompras.CapturarProducto();
13. carrito.Agregar(1);
14. Response.Redirect(VerCarrito.aspx);
15. }
16.
17. protected void lbCamisas_Click(object sender, EventArgs
e)
18. {
19. CarroDeCompras carrito
=CarroDeCompras.CapturarProducto();
20. carrito.Agregar(2);
21. Response.Redirect(VerCarrito.aspx);
22. }
23.
24. protected void lbPantalones_Click(object sender, EventAr
gs e)
25. {
26. CarroDeCompras carrito
=CarroDeCompras.CapturarProducto();
27. carrito.Agregar(3);
28. Response.Redirect(VerCarrito.aspx);
29. }
30.
31. protected void lbSandalias_Click(object sender, EventArg
s e)
32. {
33. CarroDeCompras carrito
=CarroDeCompras.CapturarProducto();
34. carrito.Agregar(4);
35. Response.Redirect(VerCarrito.aspx);
36. }
37.
38. protected void lbBoxer_Click(object sender, EventArgs e)
39. {
40. CarroDeCompras carrito
=CarroDeCompras.CapturarProducto();
41. carrito.Agregar(5);
42. Response.Redirect(VerCarrito.aspx);
43. }
44. }
45. }
Como Podemos ver solo es mandar el producto en este caso el id que seria un numero del 1 al 5
al mtodo agregar. En el otro formulario que le pondr verCarrito tenemos que mostrar los
productos que vayamos comprando.

Ya programado quedara as:
verCarrito
1. <%@ Page Language=C# AutoEventWireup=trueCodeBehind=VerCarri
to.aspx.csInherits=CarroDeComprasEjemplo.VerCarrito %>
2.
3. <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0
Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd&gt;
4.
5. <html xmlns=http://www.w3.org/1999/xhtml&gt;
6. <head runat=server>
7. <title></title>
8. </head>
9. <body>
10. <form id=form1 runat=server>
11. <div style=background-color: #FFF; padding: 15px; margin: 0
auto; width: 600px;>
12. <h1>
13. Carrito de Compras</h1>
14. <a href=CatalogoProductos.aspx>Seguir Comprando</a>
15. <br />
16. <br />
17. <asp:GridView runat=server ID=gvCaritoComprasAutoGen
erateColumns=false EmptyDataText=No hay nada en su carrito de
compras.
18. GridLines=None Width=100% CellPadding=5ShowFoo
ter=true DataKeyNames=IdProducto
19. OnRowCommand=gvCaritoCompras_RowCommandOnRowDataBo
und=gvCaritoCompras_RowDataBound>
20. <HeaderStyle HorizontalAlign=LeftBackColor=BlueVi
olet ForeColor=AliceBlue />
21. <FooterStyle HorizontalAlign=RightBackColor=Choco
late ForeColor=Aqua />
22. <AlternatingRowStyle BackColor=Azure />
23. <Columns>
24. <asp:BoundField DataField=DescripcionHeaderTex
t=Descripcion />
25. <asp:TemplateField HeaderText=Cantidad>
26. <ItemTemplate>
27. <asp:TextBox runat=server ID=txtCanti
dadColumns=5 Text=<%# Eval(Cantidad) %>></asp:TextBox><br
/>
28. <asp:LinkButton runat=serverID=btnEli
minar Text=Eliminar CommandName=Eliminar
29. CommandArgument=<%# Eval(IdProduct
o)%> Style=font-size: 12px;></asp:LinkButton>
30. </ItemTemplate>
31. </asp:TemplateField>
32. <asp:BoundField DataField=PrecioUnitarioHeader
Text=Precio ItemStyle-HorizontalAlign=Right
33. HeaderStyle-
HorizontalAlign=RightDataFormatString={0:C} />
34. <asp:BoundField DataField=Total HeaderText=To
talItemStyle-HorizontalAlign=Right
35. HeaderStyle-
HorizontalAlign=RightDataFormatString={0:C} />
36. </Columns>
37. </asp:GridView>
38. <br />
39. <asp:Button runat=server ID=btActulizar Text=Actual
izar el Carrito
40. onclick=btActulizar_Click/>
41. </div>
42. </form>
43. </body>
44. </html>

La programacin quedara as.
Codigo VerCarrito
1. namespace CarroDeComprasEjemplo
2. {
3. public partial class VerCarrito : System.Web.UI.Page
4. {
5. protected void Page_Load(object sender, EventArgs e)
6. {
7. if (!IsPostBack)
8. BindData();
9. }
10.
11. protected void BindData()
12. {
13. gvCaritoCompras.DataSource
=CarroDeCompras.CapturarProducto().ListaProductos;
14. gvCaritoCompras.DataBind();
15. }
16.
17. protected void gvCaritoCompras_RowDataBound(object sende
r,GridViewRowEventArgs e)
18. {
19. if (e.Row.RowType == DataControlRowType.Footer)
20. {
21. e.Row.Cells[3].Text = Total:
+CarroDeCompras.CapturarProducto().SubTotal().ToString(C);
22. }
23. }
24.
25. protected void gvCaritoCompras_RowCommand(object sender,
GridViewCommandEventArgs e)
26. {
27. if (e.CommandName == Eliminar)
28. {
29. int productId
= Convert.ToInt32(e.CommandArgument);
30. CarroDeCompras.CapturarProducto().EliminarProduc
tos(productId);
31. }
32. BindData();
33. }
34.
35. protected void btActulizar_Click(object sender, EventArg
s e)
36. {
37. foreach (GridViewRow row in gvCaritoCompras.Rows)
38. {
39. if (row.RowType == DataControlRowType.DataRow)
40. {
41. try
42. {
43. int productoId
=Convert.ToInt32(gvCaritoCompras.DataKeys[row.RowIndex].Value);
44. int cantidad
=int.Parse(((TextBox)row.Cells[1].FindControl(txtCantidad)).Tex
t);
45. CarroDeCompras.CapturarProducto().Cantid
adDeProductos(productoId, cantidad);
46. }
47. catch (FormatException) { }
48. }
49. }
50. BindData();
51. }
52. }
53. }
Si lo corremos se vera as:

Con esto terminamos espero que te sirva de algo
About these ads
Share this:
Twitter1
Facebook20
Correo electrnico
Google

Relacionado
Controlex Ajax y AjaxControlToolkitEn "AJAX"
Herencia en c#En "CONSOLE"
Importando Datos de Fox a SQL ServerEn "WPF"
Posted in: ASP
AutoCompletado en TextBox-ListBox-WPF y c#
SpellCheck en WPF
106 Responses Carrito de Compras ASP.NET y C#
Comentarios antiguos
1.
PHQD
noviembre 29, 2013
Hola muy buen aporte, me podras mandar el proyecto asi lo comparo con el mio
? caliqds@gmail.com gracias saludos
Responder
2.
gonzalo yrigoyen
noviembre 29, 2013
Muy buen aporte, por favor me podras enviar el proyecto si fueras tan amable mi correo
es: gonzalo_bambino_20@hotmail.com
Responder
o
James
diciembre 3, 2013
me puede por favor enviar el proyecto completo mi correo es
:eliacejean@yahoo.com gracias de ante mano
Responder
3.
maria
diciembre 4, 2013
me puede enviar su proyecto a mi correo: ( love_maria_2009@hotmail.com) porfavor gracias :)
Responder
4.
krmn
diciembre 6, 2013
me puede enviar su proyecto por favor mi correo esmcmt_90@hotmail.com, gracias :)
Responder
5.
Miguel
diciembre 9, 2013
Vaya, parece que no soy el nico que no ha podido hacer lo que explica. Me vendra bien recibir
el proyecto en el mail yuyoto@hotmail.com
Gracias de antemano
Responder
6.
tatiana
diciembre 19, 2013
me enviarias el proyecto esta genial tatianatsslow@gmail.com :)
Responder
7.
jose
diciembre 20, 2013
esta muy completo este tutorial quisiera saber si me puede enviar el proyecto para una tarea que
tengo que hacer mi correo esrenemetalero@gmail.com
Responder
8.
Gerson
enero 7, 2014
Muchas gracias , se te agradece.
Responder
9.
juan
enero 20, 2014
Tuve unos problemas hacia el final del proyecto. Podrias enviarme el proyecto a mi
email juanci.92@hotmail.com Desde ya muchas Gracias!
Responder
10.
Edy Vilema
enero 20, 2014
Excelente aporte. Me podrias enviar a mi correo :edison_v21@hotmail.com de ante mano
muchas gracias
Responder
11.
Lucio
enero 20, 2014
me puedes enviar el proyecto a luciodiez@hotmail.com? gracias
Responder
12.
Josue Adan Sanchez Gomez
enero 31, 2014
Excelente aporte. Me podrias enviar a mi correo :blacksheep302@hotmail.com de ante mano
muchas gracias
Responder
13.
Angye
febrero 7, 2014
Los felicito por la informacin.
Podras enviarme el proyecto al correo alas020883@gmail.com. Gracias anticipadas.
Responder
14.
daniel ramos
febrero 25, 2014
Muy buen aporte muchas gracias !!!!!!!!!!!!!
Responder
15.
jose
febrero 25, 2014
jajaja me podrias mandar el proyecto completo asi lo comparo con el mio?? jajaja no manches si
lo comparo mas bien lo copio!!! xD
Responder
16.
Josue Adan Sanchez Gomez
febrero 26, 2014
Deberian poner un enlace de descarga
Responder
17.
Miguel Hernandez
febrero 28, 2014
Muy buen aporte, me puedes enviar el proyecto completo a mi correo,
gracias!!! miguel56@gmail.com, suerte en todo.
Responder
18.
Josue Adan Sanchez Gomez
marzo 4, 2014
blacksheep302@hotmail.com
Responder
19.
Jun Cruz Vigouroux .
marzo 6, 2014
hola, me mandarias el proyecto? estoy practicando con .net.. mil gracias!!!
jvigouroux@gmail.com
Responder
20.
Brandon Zaid
marzo 13, 2014
oye me intereso mucho tu proyecto podras mandarlo porfa? se te agradece
bzaid2@gmail,com
Responder
21.
Diego
marzo 19, 2014
Hola, muy bueno. Me podrias enviar el proyecto?nordol_1011@hotmail.com . Gracias
Responder
o
Ronald Carlos Humpiri Valencia
marzo 25, 2014
Responder
22.
federico fuentes
marzo 23, 2014
skyandsend@hotmail.com
podria pasar de favor el proyecto
Responder
23.
yoky
abril 2, 2014
un buen proyecto.. pero algo me sale mal..me enviarias el proyecto
completo.. morningdragon17@hotmail.com
Responder
24.
david guajardo
abril 15, 2014
hola, me puedes mandar el proyecto por favor ???david.guajardo.o@gmail.com
gracias
Responder
25.
Ricelp
abril 24, 2014
hola estoy comenzando con .net, me podrias enviar el proyectoricelp@hotmail.com, gracias
Responder
26.
Gonzalo
abril 26, 2014
Buenas tardes, muy bueno tu ejemplo! Seras tan amable de enviarme el proyecto por correo?
Gracias desde ya. gonza_sierra@outlook.com
Responder
27.
Gustavo Gregorio
abril 28, 2014
Hola buenas tardes me gustara saber si podra enviarme su proyecto o resolverme la duda del
por que me muestra el siguiente error: Etiqueta de servidor incorrecta en el
archivo VerCarrito.aspx Lnea:30. Codigo: <asp:LinkButton runat="server" ID="btnEliminar"
Text="Eliminar" CommandName="Eliminar". La lnea completa es: <asp:LinkButton
runat="server" ID="btnEliminar" Text="Eliminar" CommandName="Eliminar"
CommandArgument=" Style=font-size: 12px>
Responder
28.
Samuel DIaz
mayo 12, 2014
hola q tal, me podrias enviar tu proyecto, por favor, muchas gracias y q buen aporte
Correo: wasa20024@gmail.com
Responder
29.
alejandro
mayo 18, 2014
saludos,,,podrias mandarme tu proyecto a mi correo amigo gracias muy bueno,,
hugo.ale1989@hotmail.com
Responder
30.
alejandro
mayo 18, 2014
que tal, es un aporte muy bueno seriaaas tn amable de mandarmelo a mi correo
Responder
31.
George
mayo 21, 2014
hola, me podras enviar el proyecto al correo jorge_conde@outlook.comgracias
Responder
32.
Fabrizzzio
mayo 26, 2014
EEEEEEXXXEEEELLLEEEENNNNNTTTTEEEEE
GRaaaaaaaCIaaaaaaaaaaaS
Responder
33.
Fabrizzzio
mayo 26, 2014
ya me funciono y corre muy bien gracias lo andaba buscando..
Responder
34.
kevin
mayo 29, 2014
hermano esta muy bueno felicitaciones podrias enviarme el proyecto por fa me serviria
mucho andres-v-in@hotmail.com
Responder
35.
Carlos
mayo 30, 2014
Muy buen aporte, te agradecera me brindes el proyecto. Gracias
Responder
36.
Pilar O
junio 4, 2014
Hola, gracias por compartir tu proyecto, segu las instrucciones pero me marca errores en
Page_Load repetido, y no encuentro gvCaritoCompras y otras 2 namespace, podras compartir
el cdigo que falta? o publicar las adecuaciones? muchas gracias, o si no fuera mucha la
molestia, envirmelo por correo. Gracias.
Responder
37.
Paco
junio 12, 2014
hola estoy comenzando con .net, me podrias enviar el proyectoroger46meister@gmail.com,
gracias
Responder
38.
eli
junio 17, 2014
hola tengo trabajo de univ. sobre carrito de compras podrias enviarte tu proyecto
a elizabethsud@gmail.com , gracias
Responder
Comentarios antiguos
Deja un comentario


Buscar


Blog de Ulises
codigo fuente net
Entradas recientes
se ha excedido la cuota de tamao mximo de los mensajes entrantes(65536).
Feliz Dia
Los nmeros de 2013
FELIZ NAVIDAD 2014
INTRODUCCIN A HTML HELPERS en ASP.net MVC 4
Archivos
marzo 2014 (1)
febrero 2014 (1)
diciembre 2013 (2)
septiembre 2013 (1)
agosto 2013 (2)
junio 2013 (1)
mayo 2013 (1)
marzo 2013 (2)
febrero 2013 (5)
enero 2013 (2)
noviembre 2012 (1)
octubre 2012 (1)
septiembre 2012 (5)
agosto 2012 (3)
julio 2012 (7)
junio 2012 (7)
Pginas Populares
Mandar Correos con Visual Estudio 2010 c#
Polimorfismo en c#
Pasar Datos Entre Formularios
Herencia en c#
Reconocimiento de voz y texto en c#
Carrito de Compras ASP.NET y C#
Categoras
AJAX (2)
ASP (2)
CONSOLE (5)
DATA ENTITY (2)
LINQ (5)
MVC (1)
OTROS (2)
WCF (2)
WINDOWS FORMS (4)
WPF (16)
XNA Game Estudio (1)
Numero De Visitas
117,380 hits
Calendario
febrero 2013
L M X J V S D
ene mar
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28
Paginas Amigas
ESFE/Agape
Ulises Aguilar
Programacion
Desarrollo de Software con Tecnologias Microsoft
Fuente Digital
Icomparable
TopBlogCoder
Sigue el blog por Email
Enter your email address to follow this blog and receive notifications of new posts by email.
nete a otros 57 seguidores

Seguir

Mapa

@AguilarUlises
se ha excedido la cuota de tamao mximo de los mensajes entrantes(65536).
MaxRevceivedMessawp.me/p2vfFp-to va @wordpressdotcom 3 months ago
Los nmeros de 2013wp.me/p2vfFp-tg va @wordpressdotcom 5 months ago
FELIZ NAVIDAD 2014wp.me/p2vfFp-tc va @wordpressdotcom 6 months ago
Me encanta Dropbox porque por su facil manejo db.tt/ktoHfOJ38 months ago
INTRODUCCIN A HTML HELPERS en ASP.net MVC 4 wp.me/p2vfFp-rX va
@wordpressdotcom8 months ago
Blog de WordPress.com.
El tema Inuit Types.
v

Potrebbero piacerti anche