1.问题提出

   利用session内置对象,设计并实现一个简易的购物车,要求如下:

    1)利用用户名和密码,登录进入购物车首页

    2)购物首页显示登录的用户名以及该用户是第几位访客。(同一用户的刷新应该记录为1次)

    3)购物页面分为两个部分:家用电器和运动系列,选择商品种类进行购物。

    4)在每个具体的购物页中,如果用户已经选择了商品,当再次进入到该页时要显示已选中的商品。

    5)选好商品可以查看购物车,购物车中有继续购物,清空购物车。

2.设计实现思路

    1)登录

 protected void Button1_Click(object sender, EventArgs e)
{
string a = TextBox1.Text;
string b = TextBox2.Text; if (a.Equals("yitou") && b.Equals(""))
{
Application["name"] = TextBox1.Text;
Response.Redirect("welcome.aspx");
} }

界面设计

2)web.config中设置session

  在Global.asax中设置初始访问次数为0。利用session_start,保证用户数登录加1.

  void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Application["count"] = ;
}
void Session_Start(object sender, EventArgs e)
{
Application["count"] = (int)Application["count"] + ;
}

     welcome.asp

 protected void Page_Load(object sender, EventArgs e)
{ string s = Application["name"].ToString();
Response.Write("欢迎" + s + "登录该页面,您是第"+Application["count"].ToString()+"个用户"); }
protected void Button1_Click(object sender, EventArgs e)
{
if (RadioButton1.Checked)
{
Server.Transfer("goods.asp");
}
if (RadioButton2.Checked)
{
Server.Transfer("sports.asp");
}
}

界面设计

    3)如果选择运动界面

    4)在每个具体的购物页中,如果用户已经选择了商品,当再次进入到该页时要显示已选中的商品。

    

    5)选择好商品,可以查看购物车中的内容:

 protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "电器:";
Label2.Text = "运动:";
int num=;
List<string> str = (List<string>)Session["goods"];
if (str != null)
{
for (int i = ; i < str.Count; i++)
{
Label1.Text += " " + str[i];
}
}
else num++;
List<string> sports = (List<string>)Session["sports"];
if (sports != null)
{
for (int i = ; i < sports.Count; i++)
{
Label2.Text += " " + sports[i];
}
}
else num++;
if (num == )
{
Label3.Text = "购物车是空的,快去购物"; }
else
Label3.Text = "购物车里面有:";
}

    6)查看购物车时,如果没有购物,则会给予提示。

清空购物车:

 protected void Button1_Click(object sender, EventArgs e)
{
Label3.Text = "购物车是空的,快去购物";
Label1.Text = "";
Label2.Text = "";
}

3.总结

  利用session存储对象,后期再修改一下做成数据库的。

【ASP】session实现购物车的更多相关文章

  1. ASP Session的功能的缺陷(进程外的Session)

    目前ASP的开发人员都正在使用Session这一强大的功能,但是在他们使用的过程中却发现了ASP Session有以下缺陷: 进程依赖性:ASP Session状态存于IIS的进程中,也就是ineti ...

  2. ASP Session的功能的缺陷以及解决方案

    转http://www.cnblogs.com/jhy55/p/3376925.html 目前ASP的开发人员都正在使用Session这一强大的功能,但是在他们使用的过程中却发现了ASP Sessio ...

  3. 会话技术之Session(购物车加入、查看和清空)

    会话技术之Session session:服务器端会话技术 当我们第一次访问的服务器的时候,服务器获取id, 能获取id 要拿着这个id去服务器中查找有无此session 若查找到了:直接拿过来将数据 ...

  4. session实现购物车

    为实现简单的购物功能(购物车添加.账户查看.购物车商品删除.实时的购物商品数量及价格的计算显示.购物车商品数量可手动输入等),用session实现了一简单的以php语言为基础.连接MySQL数据库的购 ...

  5. Session 简单购物车

    package session.test; import java.io.IOException; import java.io.PrintWriter; import java.util.Linke ...

  6. 11月14日用AJAX、PHP、SESSION做购物车

    购物车网页代码 1.登录界面login.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  7. asp - Session

    Session[]就是缓存,默认的类型是Object,就是说无论你把什么值赋给Session[],都是会变成Object类型的数据,空说没用,你也别看技术文献里面生涩的解释,我举个例子吧:比如说页面P ...

  8. asp.net 之 购物车

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  9. ajax、PHP、session做购物车

    购物车网页代码 1.登录界面login.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

随机推荐

  1. uitramon 安装包

    链接地址  密码:kkkk displayfintion :https://blog.csdn.net/JianJuly/article/details/80559933 密码:gn8p

  2. 三, 练习 python索引 (list和tuple)

    (1) 练习 请用索引取出下面list的指定元素: 1, # -*- coding: utf-8 -*- L = [ ['Apple', 'Google', 'Microsoft'], ['Java' ...

  3. vertx模块DeploymentManager部署管理器

    DeploymentManager public DeploymentManager(VertxInternal vertx) { this.vertx = vertx; loadVerticleFa ...

  4. 记录一次go性能调试的过程

    安装 go, git, go-torch 备注, go1.11后, 集成了 go-torch

  5. SQL 将变量定义为Table类型

    ),a2 ,),a4 DATETIME,a5 UNIQUEIDENTIFIER) ,11.22,GETDATE(),NEWID()) ,11.22,GETDATE(),NEWID()) ,11.22, ...

  6. Redis数据类型Set

    Redis的SET是无序的String集合,它里面的元素是不会重复的. SADD,SMEMBERS SADD命令会添加新元素到SET,可以看到一次性可以添加一个或多个元素.SMEMBERS可以获取se ...

  7. go time模块

    package main import ( "fmt" "time") func test() { time.Sleep(time.Millisecond * ...

  8. Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

    1,对Linux下软件的了解 源码包:未编译,要编译安装. 二进制包:已编译,可直接安装. 2,centos和ubuntu下的软件包对比: [centos]rpm文件手动安装,使用rpm指令     ...

  9. SSL/TLS抓包出现提示Ignored Unknown Record

    SSL/TLS抓包出现提示Ignored Unknown Record 出现这种提示有两种情况.第一种,抓包迟了,部分SSL/TLS的协商数据没有获取,Wireshark无法识别和解析.第二种,数据包 ...

  10. Exp2 后门原理与实践 20164302 王一帆

    1 实验内容 1.1实验主要内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shell, 任务计划启动 (0.5分) (3)使用MSF ...