网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.ASP.NET中如何调用存储过程.
.Asp.Net使用POST方法最简单的实现.
.ASP.NET如何进行性能优化问题.
.ASP.NET 2.0 Treeview Checkboxe.
.Asp.net1.1升级到2.0遇到的一些问.
.手把手教你如何扩展GridView之个.
.简单绑定要注意的问题_AX.
.在 IIS 中配置 SQL XML 支持.
.Access数据库在asp.net程序中相对.
.URL重写可删节日期模式---正则表.
.在asp.net中实现删除DataGrid的某.
.ASP.NET中为DataGrid添加单选框.
.用 md5 加密数据库中的用户密码.
.Session丢失原因与解决方案小结.
.Access 通用数据访问类(asp.net .
.ASP.NET 崩溃-SiteMap中疯狂的循.
.GridView 分页导航.
.asp.net生成缩略图及给原始图加水.
.一个通过web.Mail发送邮件的类 .
.如何读取XML文件内容.

Web应用程序ASP.NET开发电子商务网站购物车

发表日期:2006-3-6


  Web应用程序开发中,大多数的电子商务网站都有网上购物这一功能模块,所以购物车程序的编写就显得非常重要。

  购物车的作用不外就是实现这些功能:添加物件、修改物件、删除物件、检查推车、查看推车等。在本文就讲解“添加物件”、“删除物件”和“查看推车”这三个功能。当然,这里只不过是一个简单的购物车类,完成的功能也不多,还不够完善,需要大家在这个基础做扩展使它的功能更加完善。

  C#是一种完全的OOP(Object Oriented Programming)语言,也是微软的主打语言,也可以说是未来的几个流行语言之一。本文的示例代码使用C#编写。以下是创建一个购物车类,它完成添加物件、删除物件和查看购物车物件这些功能,文件名ShoppingCart.cs:

using System;
using System.Web.UI;
using System.Collections; //使用Hashtable类必须引入该命名空间

namespace WendwCart //命名空间名称
{
 [Serializable]
 public class Stat_Class{ //定义商品类,保存商品的各种属性
  String ShangPinID; //商品ID
  String Sp_Name; //商品名称
  decimal Sp_Price; //商品价格
  int Sp_Quan; //商品数量
  public String ItemID{
   get{return ShangPinID;}
   set{ShangPinID=value;}
  }

  public String ShangpinName{
   get{return Sp_Name;}
   set{Sp_Name=value;}
  }

  public decimal Price{
   get{return Sp_Price;}
   set{Sp_Price=value;}
  }

  public int Quantity{
   get{return Sp_Quan;}
   set{Sp_Quan=value;}
  }

  public Stat_Class(String ItemID,String ShangpinName,decimal Price,int Quantity){ //构造方法,初始化商品的各个属性

   ShangPinID=ItemID;
   Sp_Name=ShangpinName;
   Sp_Price=Price;
   Sp_Quan=Quantity;
  }
 }

 [Serializable]
 public class ShoppingCart{
  Hashtable Cart_Orders=new Hashtable();
  public ICollection Orders{
   get{return Cart_Orders.Values;}
  }

  public decimal TotalCost{ //计算总价格
  get{
   decimal total=0;
   foreach(DictionaryEntry entry in Cart_Orders){
    Stat_Class order=(Stat_Class)entry.Value;
    total+=(order.Price*order.Quantity);
   }
   return total;
  }
 }

 public void AddItem(Stat_Class Order){ //添加物件方法
  Stat_Class order=( Stat_Class)Cart_Orders[Order.ItemID];
  if(order!=null)
   order.Quantity+=Order.Quantity;
  else
   Cart_Orders.Add(Order.ItemID,Order);
 }

 public void DeleteItem (String ItemID){ //删除物件
  if(Cart_Orders[ItemID]!=null)
   Cart_Orders.Remove(ItemID);
 }
}
}
  编译ShoppingCart.cs文件:

csc /t:library /out: ShoppingCart.dll ShoppingCart.cs

  部署ShoppingCart.dll组件到bin目录下。

  说明:

  为了保证不管使用什么样的会话模式都能够有效的保存会话状态,在定义类的前面加上了Serializable序列化。另外,为了使每个用户登录时都能创建一个类的实例,在Global.asax文件里加上:

<%@ Import Namespace="WendwCart" %>
<%@ Application Codebehind="Global.asax.cs" Inherits="HDLab.BBS.Global" %>
<script Language="C#" runat="server">

void Session_Start()
{
 Session["MyShoppingCart"]=new ShoppingCart();
}
</script>

  其中WendwCart是控件的命名空间名称。 在下一篇《购物推车程序开发——调用购物车类》中将讲解如何在ASP.NET页面中应用ShoppingCart.dll组件来添加、删除物件。

上一篇:在.NET中使用脚本引擎 人气:6921
下一篇:[DataGird]如何截取过长的字符串 人气:6912
浏览全部ASP.NET的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐