亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP.NET之電子商務系統開發-2(購物車功能)

2019-11-17 01:54:46
字體:
來源:轉載
供稿:網友

asp.net之電子商務系統開發-2(購物車功能)

一、前言

繼上次的首頁數據列表后,這是第二篇。記錄一下購物車這個比較龐大的功能,可能實現的方法跟其他人有點不一樣,不過原理都差不多,是將cookie存數據庫里面的。

二、開始

首先看一下購物車流程及對應代碼。

1.如果購物車為空,就顯示

 

購物車為空

其方法是創建兩個大的div層,當你沒有購買商品時,就顯示這層,里面啥都沒有,如果你點擊了一個商品加入購物車,就會將這層隱藏,顯示存放剛放入購物車商品信息的那一層,其控制方法如下:

DataSet ds = bllShopCar.ShopCarQT(Request.Cookies["ShopUser"].Value);                if (ds.Tables[0].Rows.Count > 0)                {                    havegoodsbox1.Visible = true;                    RadListView1.DataSource = ds;                    RadListView1.DataBind();                }                else                {                    nocarbox.Visible = true;                }

第一行先dataset一下,ShopCarQT是一個方法:

public DataSet ShopCarQT(string strWhere)        {            StringBuilder strSql = new StringBuilder();            strSql.Append("select * from ShopCar left join GoodsInfo on [ShopCar].[Goods_ID] = [GoodsInfo].[Goods_ID] where [ShopUser] = '");            if (strWhere.Trim() != "")            {                strSql.Append(strWhere + "'");            }            return DbHelperSQL.Query(strSql.ToString());        }

Shopcar是購物車表,GoodsInfo 是商品信息表,看一下表設計:

)Z5Q39($2P432O%NTBMT{CQ這是Shopcar,

 

8A`4)EH(@P1VA}$)~_1}2KR這是GoodsInfo。其中ShopCar中的ShopUser存放的是一個cookie,當你選中商品加入購物車時,除了商品信息會插入ShopCar,還有一個ShopUser會插入:

}ROWA76}D`%8W[OM7JKY`9Q

其代碼是在后臺創建cookie:

if (Request.Cookies["ShopUser"] == null || Request.Cookies["ShopUser"].Value == "")            {                Response.Cookies["ShopUser"].Value = DateTime.Now.ToString("yyyyMMddhhmmssfff");                Response.Cookies["ShopUser"].Expires = DateTime.Now.AddYears(1);            }

接著ShopUser會生成一個cookie存到后臺并且這個值會放入數據庫中。再回到上面的方法,方法里面將這兩張表根據ShopUser,select了一下。然后下一行是if判斷,如果數據庫里面沒有數據,nocarbox的值就是true,其中nocarbox 就是上面的層,顯示的是“您的購物車還是空的”;如果有數據,havegoodsbox1 的值就是true,這是購物車中有商品的層,顯示出來差不多是這樣

F%5AQCJ%)EY%J_[F}X~PC2B

2.一些細節

首先,用一臺電腦購物時,存放在ShopUser的cookie值是一樣的,比如我這臺電腦,將兩個商品加入購物車:

FFY88GBQ1S){TNETCSDR[KF

只要是同一臺電腦,他的ShopUser都是一樣的,但是Goods_ID,不可能相同,如過你添加同一個商品到購物車就會這樣:

7)0}2$(~`T)~%L@_WG%5{$S

這是相同ShopUser下,Goods_ID不能相同,還有一種就是不同ShoUser情況的,Goods_ID可以相同,也就是不同電腦添加相同商品不會產生沖突問題。具體添加商品的判斷語句如下:

if (bllshopcar.GetRecordCount2("[Goods_ID] = " + Request["id"] , "[ShopUser] = " + Request.Cookies["ShopUser"].Value) !=0 )                        {                             Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('不能添加重復商品!');location.replace(location.href);</script>");                        }                        else                        {                                molshopcar.ShopUser = Request.Cookies["ShopUser"].Value;                                molshopcar.Goods_ID =Int32.Parse((Request["id"]));                                int Money;                                Money = Convert.ToInt32(this.qty_item_1.Text) * Convert.ToInt32(this.lblgoods_GBPRice.Text);                                molshopcar.Goods_Money = Money;                                molshopcar.Goods_Name = lblgoods_name.Text;                                molshopcar.Goods_Num = Convert.ToInt32(qty_item_1.Text);                                bllshopcar.Add(molshopcar);                                Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('加入購物車成功!'); </script>");                        }

其中GetRecordCount2 是一個方法,相同IP,也就是ShopUser相同的情況下,商品是否重復:

/// <summary>/// 判斷購物車商品是否重復/// </summary>         public int GetRecordCount2(string str1,string str2)        {            StringBuilder strSql = new StringBuilder();            strSql.Append("select count(1) FROM ShopCar ");            if (str1.Trim() != "" || str2.Trim() != "")            {                strSql.Append(" where " + str1 + "and " + str2);            }            object obj = DbHelperSQL.GetSingle(strSql.ToString());            if (obj == null)            {                return 0;            }            else            {                return Convert.ToInt32(obj);            }        }

如果全部成功,就add一下,到ShopCar表中。

3.購物車中商品信息修改

這塊我弄了很久,因為在Radlistview 中(其實不止Radlistview,其他像什么Gridview估計也是這種情況),所有官方控件比如button,textbox之類的,全部失效,后臺獲取不到它們的ID,因此你要是修改商品的信息,例如數量,就會顯的非常麻煩,琢磨了好久之后終于用js實現了。

T1%FBUCHF8B~]Z9481M[M6C

這方法不像那種淘寶里面的,直接+/-,那方法至今沒搞懂怎么獲取值。這方法當你輸入數量后,點擊確定,他就根據數量修改該商品小計和下面的合計金額。在代碼中,他會首先獲取輸入的值,只需要在前臺寫一個簡單的js就可以了,代碼如下:

function change(js_shopcarid)               {                   var goodsnum = prompt("請輸入數量", "");//將輸入的數量賦值給num                   if(goodsnum < 0 )                   {                       alert("請輸入正確數值");                   }                  else  if (goodsnum)                   {                       alert("修改成功!");                       document.cookie = "jsshopcarid=" + js_shopcarid;                       document.cookie = "goodsnum=" + goodsnum;                       var btn = document.getElementById("Button3");                       btn.click();
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品videos| 国产成人亚洲综合青青| 都市激情亚洲色图| 亚洲人成亚洲人成在线观看| 欧美在线不卡区| 在线电影欧美日韩一区二区私密| 欧美日韩福利在线观看| 成人免费观看a| 91av中文字幕| 日日摸夜夜添一区| www.久久久久久.com| 久久久久久久一| 亚洲国产女人aaa毛片在线| 91手机视频在线观看| 亚洲精品自产拍| 国产视频久久网| 91精品国产综合久久香蕉| 91精品国产高清自在线看超| 久久国产精品久久久久久久久久| 久久免费在线观看| 国产精品影片在线观看| 欧美噜噜久久久xxx| 日韩中文视频免费在线观看| 亚洲美女av黄| 精品一区电影国产| 久久久久一本一区二区青青蜜月| 欧美成年人视频网站欧美| 国产日韩欧美黄色| 欧美黑人一级爽快片淫片高清| 欧美性生交xxxxxdddd| 久久视频这里只有精品| 全球成人中文在线| 亚洲一区二区久久| 韩国三级日本三级少妇99| 欧美精品videossex性护士| 日韩大陆欧美高清视频区| 国产97人人超碰caoprom| 国产免费久久av| 高清欧美性猛交| 成人黄色在线免费| 亚洲香蕉伊综合在人在线视看| 日韩视频永久免费观看| 夜夜嗨av一区二区三区免费区| 亚洲国产精品va在线看黑人| 一本色道久久综合狠狠躁篇的优点| 欧美日韩亚洲激情| 97国产成人精品视频| 日本国产精品视频| 亚洲精品资源美女情侣酒店| 91国语精品自产拍在线观看性色| 日韩欧美在线观看视频| 国产欧美日韩免费看aⅴ视频| 欧美精品久久久久久久久久| 92看片淫黄大片欧美看国产片| 国产成人综合久久| 欧美成人午夜激情视频| 2019国产精品自在线拍国产不卡| 伊人成人开心激情综合网| 欧美性猛交xxxx| 国产欧美日韩视频| 欧美性生交xxxxx久久久| 黄色精品一区二区| 在线视频一区二区| 欧美一区二区.| 中文字幕欧美日韩在线| 亚洲韩国日本中文字幕| 中文字幕日韩高清| 中日韩美女免费视频网址在线观看| 456亚洲影院| 日韩精品免费电影| 97涩涩爰在线观看亚洲| 亚洲成人精品久久| 日韩中文字幕在线观看| 国产视频自拍一区| 一个人看的www久久| 亚洲天堂第一页| 亚洲国产成人久久综合一区| 亚洲人成网站777色婷婷| 成人免费淫片视频软件| 国产精品夜色7777狼人| 福利一区视频在线观看| 国产99在线|中文| 精品香蕉在线观看视频一| 久久久视频免费观看| 91精品国产自产在线| 少妇精69xxtheporn| 国产视频精品久久久| 欧美日韩中文在线| 国色天香2019中文字幕在线观看| 欧美又大粗又爽又黄大片视频| 亚洲精品99久久久久中文字幕| 日韩精品中文字幕有码专区| 国产精品久久久久免费a∨大胸| 日韩最新av在线| 国产欧美日韩精品专区| www.日韩系列| 日韩中文字幕国产| 国精产品一区一区三区有限在线| 少妇久久久久久| 亚洲精品v天堂中文字幕| 亚洲色图日韩av| 国自在线精品视频| 久久精品亚洲一区| 欧美一区二区三区免费视| 欧美视频在线观看 亚洲欧| 日韩精品免费在线视频观看| 免费不卡欧美自拍视频| 国产精品久久久久久五月尺| 亚洲视频在线观看视频| 国模精品视频一区二区| 亚洲视频日韩精品| 欧美性在线视频| 国产精品r级在线| 国产精品美女免费看| 成人精品一区二区三区电影黑人| 欧美高清视频在线播放| 欧美日韩国产123| 久久亚洲精品视频| 91麻豆国产语对白在线观看| 日韩久久免费电影| 日韩日本欧美亚洲| 亚洲福利在线观看| 亚洲精品v欧美精品v日韩精品| 国产精品观看在线亚洲人成网| 欧美大秀在线观看| 国产精品日日摸夜夜添夜夜av| 亚洲自拍在线观看| 一区三区二区视频| 欧美在线视频网站| 日韩欧美国产黄色| 日本精品免费观看| 精品久久久久久久久久| 久久在线免费视频| 日韩美女在线看| 法国裸体一区二区| 亚洲淫片在线视频| 国产精品专区h在线观看| 精品国产鲁一鲁一区二区张丽| 在线播放日韩欧美| 国产精品久久一| 国产精品第1页| 97在线看福利| 欧美高清视频免费观看| 俺去啦;欧美日韩| 国产亚洲精品日韩| 7777免费精品视频| 亚洲国内精品视频| 国产91精品久久久久| 国内精品视频一区| 国产深夜精品福利| 亚洲亚裔videos黑人hd| 日本韩国欧美精品大片卡二| 美女精品视频一区| 国产精品国产自产拍高清av水多| 中文字幕精品影院| 亚洲欧美在线看| 91久久国产婷婷一区二区| 国产91在线播放精品91| 最近更新的2019中文字幕| 欧美另类极品videosbestfree| 日韩亚洲精品视频| 日韩成人久久久| 亚洲国产成人一区| 日韩久久免费电影|