# AddToCart.aspx 页面

说明： AddToCart 页面把当前陈列的商品添加到用户的购物车内,然后立即将浏览器定向到shoppingcart.aspx页面。
实现方法： 当用户点击产品列表页面(ProductsList.aspx)上或者产品细节页面((ProductDetails.aspx))上的"Add to Cart"链接时,，addtoCart页面被调用. 但该页面不显示文本。这一操作只是收集信息来调用一个过程更新购物车,然后导入购物车概要页面。
添加到购物车中的产品编号以查询字符串的形式传递给页面，比如，用户想要向购物车中添加名为"Mighty, Mighty Pen"的商品,那么调用页面的URL便是AddToCart.aspx?productID=371。当要创建超链接到这个页面的时候,可以详细看一下帮助页面，了解这一请求是如何添加的。
产品列表(ProductsList)页面逻辑完全被封装到它的 Page_Load事件句柄,当浏览器客户端的用户进入这个页面时，Page_Load事件句柄就会被调用。
Page_Load 事件句柄： Page_Load事件句柄通过使用页面Request对象的参量集合来获得指定的ProductID参数的值。参量集合包含由客户端发出的HTTP请求中的所有查询字符串,表单域,COOKIE,和服务器变量。当网页开发者在页面间进行转换时，通过这个典型API来获得传送参数。
Page_Load事件句柄创建一个ShoppingCartDB类的实例，并且调用它的GetShoppingCartId方法来得到一个“车号”，这个车号或者由用户的登录名来创建,或者当用户还没有登陆,由一个动态产生的GUID来创建。如果车号是GUID，那该车就是一个对当前session有效的临时购物车。这一临时购物车当用户登陆并提供用户名和密码时自动转向一个永久的购物车。
为了实际添加项目给购物车，句柄调用ShoppingCartDB 类的AddItem方法，并把车号、产品号、数量传给它。因为AddItem方法要求整型变量，所以作为字符串类型的产品号在传递给查询字符串时，需要转换为整型。 AddItem方法通过调用(ShoppingCartAddItem)存储过程来更新Commerce数据库中的购物车。
在购买项添加到购物车后不久，用户被转向(ShoppingCart.aspx)页面，这是通过调用Request对象的Redirect方法实现的，这将使得客户端转向所提供的URL地址，使页面迅速转向是为了确保用户不能通过在浏览器内点击刷新按钮来再次添加项目，因为URL在转向发生后将发生改变。