購物車: 和**上的購物車類似,就是選擇商品點選購買存入購物車,在購物車裡檢視可以看到所購買物品的詳細資訊,包括名稱,**,數量,以及總價,至於後面的提交訂單後的功能還沒實現。
模擬的就是採用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出來了 說實話 搞這個購物車 浪費我整整一下午的時間 當我回過頭捋一遍 其實 半小時就能完事。就是因為全選...