欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用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;
        }
    }