在开发一个Web程序的时候用到了网购这个功能,上来分享并记录一下,以便以后忘记了可以自己看看(电脑东西太多,笔记都不知道放哪里去了啊啊啊啊啊!!!)

没有什么高并发量,什么什么技术理论,只是一个最最基本的网购功能

首先,我们需要一张购物车表,这里我使用的是mssql2005,表结构如下:

Id,不用说,标识字段,自动增长(你tm不是说了吗。。。)

userId,购买用户的Id

BookId,购买的图书的Id(因为我做的是网上书城,所以是图书Id,根据需要更改)

Count,商品的数量

AddDate,添加日期

IsDelete,标识位,是否删除)

具体的流程如下:

跳转到购物车:当用户点击购买的时候带着商品的Id跳到购物车的页面,后台根据Session中用户的信息(假设用户已登录,关于权限控制可以看看这个asp.net权限控制)查询数据库中购物车表的信息,如果在表中该用户已经添加了该物品(先对比UserId,在对比BookId),则对应的购物车项数量++(给个真的不是艹。。。而是加加),否则就新添加进购物车表

关于更改购物车物品数量:

更改购物车物品数量(假设有加减按钮):通过ajax进行物品数量的加减,点击加减按钮,对数量框的数值进行操作(自增或者自减),然后通过ajax将这个数值传到服务器,更新进数据库,在返回数据库中最新的数值,并赋值给数值框

直接修改数量框的值:用户手动输入物品的数量的时候,要判断输入的是否为数字(使用正则表达式),如果不是正确的数字(如:001等),进行一些处理,如果输入的不是数字,提示并将数量框的值回复(可以在数量框的事件中将原来的值保存在一个全局变量中),用户修改完毕之后,通过ajax发送到后台处理(与上面类似)

最后是计算并显示购物车物品的总价(只是在前台):

设置一个全局变量totalMoney,先找到每个物品所在的tr,使用js的each对其进行遍历,取出每一行的单价和数量相乘,然后对totalMoney进行累加,并将其显示。

asp.net购物车,订单以及模拟支付宝支付(一)---购物车表及添加购物车流程的更多相关文章

  1. asp.net购物车,订单以及模拟支付宝支付(四)---模拟支付宝支付

    下完订单之后到支付宝付款,成功之后再返回来修改订单状态.由于只是测试,所以就没有真正的连接到支付宝,用的是一个模拟支付宝的程序 下载地址:支付宝模拟程序 这是一个vs2010的项目,本来网上找了一个模 ...

  2. asp.net购物车,订单以及模拟支付宝支付(三)---提交订单

    在设计完订单表之后,就要整理一下订单处理的流程了 首先,用户在购物车界面点击结算的时候,跳到一个结算确认页面(这时候只是确认,让用户填写收货地址等,没有真正的下订单),显示用户的地址等信息和要买的物品 ...

  3. asp.net购物车,订单以及模拟支付宝支付(二)---订单表

    购物车准备完毕之后,就要着手订单表的设计了 表结构如下: T_Orders T_OrderBooks 为什么这里要分为两个表? 仔细想想,现实生活中的发票 特地去网上找了一张,不是很清晰 但是,正常人 ...

  4. iOS - AliPay 支付宝支付

    1.支付宝支付申请 支付宝支付官方签约集成指引 支付宝APP支付官方集成指引 蚂蚁金服开放平台 1.1 支付宝 APP 支付申请步骤 APP 支付:APP 支付是商户通过在移动端应用 APP 中集成开 ...

  5. [转]一步一步asp.net_购物车订单与支付宝

    本文转自:http://www.cnblogs.com/mysweet/archive/2012/05/19/2508534.html 最近这几天很忙,一边忙着准备一堆课程设计(8门专业课.....伤 ...

  6. ASP.NET Core 2.0 使用支付宝PC网站支付

    前言 最近在使用ASP.NET Core来进行开发,刚好有个接入支付宝支付的需求,百度了一下没找到相关的资料,看了官方的SDK以及Demo都还是.NET Framework的,所以就先根据官方SDK的 ...

  7. DRF 商城项目 - 购物( 购物车, 订单, 支付 )逻辑梳理

    购物车 购物车模型 购物车中的数据不应该重复. 即对相同商品的增加应该是对购买数量的处理而不是增加一条记录 因此对此进行联合唯一索引, 但是也因此存在一些问题 class ShoppingCart(m ...

  8. asp.net core 支付宝支付( 电脑2.0)

    支付宝电脑支付实测在手机浏览器也可以唤醒手机支付宝进行支付,因此也可以作为支付宝手机web支付方式.支付宝电脑支付流程为使用支付宝官方sdk通过获取的支付宝参数构造DefaultAopClient实例 ...

  9. Java 支付宝支付,退款,单笔转账到支付宝账户(支付宝订单退款)

    上一篇写到支付宝的支付,这代码copy下来就能直接用了,   我写学习文档时会经常贴 官方参数文档的案例地址, 因为我觉得 请求参数,响应参数说明 官方文档整理的很好,毕竟官方不会误导大家. 我学一个 ...

随机推荐

  1. bayer转dng实现过程记录

    前言 项目中需要将imx185出来的raw数据转成dng格式,一开始认为很简单的事情,后面才发现还是挺复杂的!!!首先考虑的是不写任何代码,直接用adobe提供的转换工具来转,结果发现,不仅是adob ...

  2. jsp页面点击打印按钮调用系统 的打印功能

    <script language=javascript> function prt() { var btn_obj = document.getElementById("prin ...

  3. [ Openstack ] Openstack-Mitaka 高可用之 网络服务(Neutron)

    目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...

  4. DRF自带的Request和Response对象(DRF基类APIView)

    # 转载请留言联系 1.Request对象 DRF传入视图的request对象,不再是Django默认的HttpRequest对象,而是扩展了HttpRequest类的Request类的对象. RES ...

  5. jquery请求格式和返回类型 汇总

    常规请求基本格式 1 [WebMethod] 2 public string SayHello(string name) 3 { 4 return "Hello " + name; ...

  6. HDU-3374

    String Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  7. nginx部署vue工程和反向代理nodejs工程

    前端是vue,后端是nodejs 前端打包成dist目录,后端接口是localhost:4000/api server { listen 80; #listen [::]:80; server_nam ...

  8. Go语言,互斥锁使用

    package main import ( "fmt" "runtime" "sync" ) var ( counter int wg sy ...

  9. [libGDX游戏开发教程]使用libGDX进行游戏开发(1)-游戏设计

    声明:<使用Libgdx进行游戏开发>是一个系列,文章的原文是<Learning Libgdx Game Development>,大家请周知.后续的文章连接在这里 使用Lib ...

  10. mongodb复制集搭建

    注:mongodb当前版本是3.4.3 1.准备三个虚拟机做服务器 192.168.168.129:27017 192.168.168.130:27017 192.168.168.131:27017 ...