購物車(只實現了提交訂單前的功能)

2022-04-20 21:17:05 字數 3470 閱讀 6204

購物車: 和**上的購物車類似,就是選擇商品點選購買存入購物車,在購物車裡檢視可以看到所購買物品的詳細資訊,包括名稱,**,數量,以及總價,至於後面的提交訂單後的功能還沒實現。

模擬的就是採用session來控制購物車的狀態,  每次點選購買或者顯示主介面的時候都要判斷 session的狀態,操作session就是操作訂單集合。

如果session為null,那麼就需要為session造乙個空的訂單集合,以此來往購物車裡放訂單的資料;

如果session的值不為空,那麼每點選一下購買便將orderdetails物件存進訂單集合裡面。

下面開始顯示**:(前提:由於訂單表裡只有水果編號和數量,而沒有水果名稱和**,所以需要擴充套件訂單表裡的屬性,為訂單表增加乙個水果名稱和水果**的屬性,是通過訂單表裡的訂單編號和水果表的水果編號相對比來實現的)

1

、models

namespace

購物車.models

}}開始擴充套件訂單表的屬性:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.web;

namespace

購物車.models

return"";}}

private

decimal

_fruitprice;

public

decimal fruitprice//

定義訂單表的水果**這個屬性

return0;}}

}}2、controllers紅色 代表的是每次都要判斷session的狀態

using

system;

using

system.collections.generic;

using

system.linq;

using

system.web;

using

system.web.mvc;

using

購物車.models;

namespace

購物車.controllers

else //如果不為空

list

list= new

fruitbf().selcet();

return

view(list);

}public actionresult buy(string id) //

購買的動作

//不是空的話,就直接利用session裡的資料

listlist = session["cart"] as list;

//操作session就是操作訂單集合

//點選一下購買,那麼session便存了乙個資訊,然後放到了訂單集合裡面

//下面開始根據傳進來的物品的id來判斷是否已經購買過

var query = list.where(p=>p.fruitcode==id);

if (query.count() <= 0) //

這證明以前沒有買過

else

//如果之前買過,只需要再數量上++就可以了

return redirecttoaction("

index

","home

");

}//下面開始寫檢視購物車的動作 (前提:購物車裡面只有訂單號和數量而沒有水果名字和**,所以需要擴充套件一下訂單的類)

public actionresult cart() //

檢視購物車

//如果購物車不是空的,那麼訂單就是session

listlist = session["cart"] as list;

//點選一下購買,那麼session便存了乙個資訊,然後放到了訂單集合裡面

//獲取一下消費了多少錢,消費的錢=購買的數量*商品的單價

decimal cost = list.sum(p => p.count * p.fruitprice).value;//

通過訂單集合裡的sum函式來計算(公式為***數量)

viewbag.cost=cost;

return

view(list);

}//如果多買了數量,就需要刪除,下面開始寫刪除的

public actionresult removecartcount(string

id)

//不是空的話,就直接利用session裡的資料

listlist = session["cart"] as list;

//操作session就是操作訂單集合

//點選一下購買,那麼session便存了乙個資訊,然後放到了訂單集合裡面

var query = list.where(p=>p.fruitcode==id); //

找到訂單裡面那個編號等於傳過來的id的那個物件

if (query.count()>0) //

如果查出來的數量大於0

else

//如果數量小於1了,需要把這條訂單從訂單集合裡刪掉

return redirecttoaction("

cart

","home

");//

返回到購物車的動作上

}

else

}}}3

、views

index:

@@using 購物車.models;

@model list

class="

aa" >@foreach(fruit data

inmodel)

@您當前購買了 @count 個商品

@html.actionlink(

"檢視購物車

","cart")

cart:

@@using 購物車.models;

@model list

@foreach (orderdetails data

in model) //

因為訂單表裡沒有水果的名字和**,所以需要擴充套件一下訂單的類

您本次總共消費了

"red

"> @viewbag.cost

效果圖:

購物車訂單實現

apiservice類 public inte ce apiservice myinterceptor類 public class myinterceptor implements interceptor okhttputils類 retrofitutils類 public class retrof...

購物車功能實現

大神跟我說學好基本的jquery只需要做好三個基本功能就好了,第乙個是購物車。現在開始實踐,css神馬的就忽略簡單點了。其實這個主要就是dom操作和選擇器的應用。大神果然比較牛。product number price choose120 2100350 410product number pric...

vant實現購物車功能

做一些電商或者支付頁面 肯定少不了購物車功能 一方面正反選 另一方面動態 全選之後再去加減商品數量 這裡必須考慮 裡面有很多蛋疼的問題 猛的一想 感覺思路很清晰 但是 真正動起手來 就各種bug出來了 說實話 搞這個購物車 浪費我整整一下午的時間 當我回過頭捋一遍 其實 半小時就能完事。就是因為全選...