使用Session对象实现购物车案列
程序员文章站
2024-03-20 14:24:58
...
购物车案例
提示:以下是本篇文章正文内容,下面案例可供参考
1、购物车商品显示前端代码
// An highlighted block
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>购物车案例</title>
//在Content文件夹里面引入shopping.css文件
<link href="Content/shopping.css" rel="stylesheet" />
</head>
<body>
<form id="form1" runat="server">
<div class="page">
<div class="adv">
//我这里就用了同一张图片做演示
<img src="image/1.jpg" width="250px" />
<div class="title">华硕(ASUS)飞行堡垒五代FX80 15.6 英寸游戏笔记本</div>
<div class="price">¥5999.00</div>
<div class="divBtn">
//给购物车商品信息列表传参
<a href="CarList.aspx?id=1">购买</a>
</div>
</div>
<div class="adv">
<img src="image/1.jpg" width="250px" />
<div class="title">美商海盗船(USCorsair)额定650W RM650x 电源</div>
<div class="price">¥869.00</div>
<div class="divBtn">
//同上
<a href="CarList.aspx?id=3">购买</a>
</div>
</div>
<div class="adv">
<img src="image/1.jpg" width="250px" />
<div class="title">联想(Lenove)M400e(PLUS)商用办公台式</div>
<div class="price">¥3299.00</div>
<div class="divBtn">
<a href="CarList.aspx?id=4">购买</a>
</div>
</div>
<div class="adv">
<img src="image/1.jpg" width="250px" />
<div class="title">惠普(HP)星14-ce0016TU 1寸轻薄笔记本电脑</div>
<div class="price">¥4799.00</div>
<div class="divBtn">
<a href="CarList.aspx?id=1">购买</a>
</div>
</div>
</div>
</form>
</body>
</html>
2、 css代码
代码如下(示例):
.page{
background-color: aqua;
margin: 0 auto;
}
.adv {
float: left;
margin: 0 20px;
}
.price,.title,.divBtn{
text-align: center;
}
3、购物车商品信息列表前端
代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
//显示购物结果
<asp:Label ID="IbiRes" runat="server" Text="" ForeColor="Red"></asp:Label>
//显示购物信息列表
<asp:Label ID="IbiCarlist" runat="server" Text=""></asp:Label>
</div>
</form>
</body>
</html>
4、商品显示列表后端代码
代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["id"] != null)
{
IbiRes.Text = "购物成功!";
//获取购物的商品列表
string id = Request.QueryString["id"];
//判断是否购买过
if (Session["car"] != null)
{
//如果购物车存在,则先取出购物车里面的所有物品
Dictionary<string, int> dic = (Dictionary<string, int>)Session["car"];
//判断是否购买过
if (dic.ContainsKey(id))
{
//如果购买过,则把原来的商品数量加1
int sum = (int)dic[id];
dic[id] = sum + 1;
}
else
{
//如果没有购买过,则添加1个商品,商品数量为1
dic.Add(id, 1);
}
}
else
{
//如果购物车不存在,则创建一个购物车保存到Session中
Dictionary<string, int> dic = new Dictionary<string, int>();
dic.Add(id, 1);
Session["car"] = dic;
}
showcar();
}
}
}
//商品显示方法
public void showcar()
{
Dictionary<string, int> dic = (Dictionary<string, int>)Session["car"];
string html = "<table><tr><td>商品编号</td><td>商品数量</td></tr>";
foreach (KeyValuePair<string,int> kv in dic)
{
html += "<tr><td>" + kv.Key + "</td><td>" + kv.Value + "</td></tr>";
}
html += "</table>";
IbiCarlist.Text = html;
}
}
上一篇: 顺序表的基本操作
下一篇: 数据结构之线性表(顺序表)的基本操作