【ASP】session实现购物车
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实现购物车的更多相关文章
- ASP Session的功能的缺陷(进程外的Session)
目前ASP的开发人员都正在使用Session这一强大的功能,但是在他们使用的过程中却发现了ASP Session有以下缺陷: 进程依赖性:ASP Session状态存于IIS的进程中,也就是ineti ...
- ASP Session的功能的缺陷以及解决方案
转http://www.cnblogs.com/jhy55/p/3376925.html 目前ASP的开发人员都正在使用Session这一强大的功能,但是在他们使用的过程中却发现了ASP Sessio ...
- 会话技术之Session(购物车加入、查看和清空)
会话技术之Session session:服务器端会话技术 当我们第一次访问的服务器的时候,服务器获取id, 能获取id 要拿着这个id去服务器中查找有无此session 若查找到了:直接拿过来将数据 ...
- session实现购物车
为实现简单的购物功能(购物车添加.账户查看.购物车商品删除.实时的购物商品数量及价格的计算显示.购物车商品数量可手动输入等),用session实现了一简单的以php语言为基础.连接MySQL数据库的购 ...
- Session 简单购物车
package session.test; import java.io.IOException; import java.io.PrintWriter; import java.util.Linke ...
- 11月14日用AJAX、PHP、SESSION做购物车
购物车网页代码 1.登录界面login.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
- asp - Session
Session[]就是缓存,默认的类型是Object,就是说无论你把什么值赋给Session[],都是会变成Object类型的数据,空说没用,你也别看技术文献里面生涩的解释,我举个例子吧:比如说页面P ...
- asp.net 之 购物车
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- ajax、PHP、session做购物车
购物车网页代码 1.登录界面login.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
随机推荐
- Revit二次钢筋
- 分组PARTITION BY及游标CURSOR的用法
基础数据表: select * from dbo.RecommendationChanelVersionRelation: 数据如下: 要求按照ChannelVersionID分组,对每组中的Orde ...
- linux只端口监听及杀死进程
centOs7操作记录~ 1:查看端口占用情况: 命令:netstat -lnp|grep #posrNum 可以看到11788 正在运行java程序正在占用8044端口: 命令:ps 11788 可 ...
- 写一个python 爬虫爬取百度电影并存入mysql中
目标是利用python爬取百度搜索的电影 在类型 地区 年代各个标签下 电影的名字 评分 和图片连接 以及 电影连接 首先我们先在mysql中建表 create table liubo4( id in ...
- 【原创精品】mac 彻底卸载趋势科技
在公司,给我的mac 笔电装了公司的查杀毒软件,此后,这货就像挥之不去的病毒,就像你心理上阴影一样如影随形,最邻人方案的是这货没界面,只是个后台服务,一般人就没办法了.最最令人反感的是它经常控制/拖慢 ...
- linux安装lamp环境(linux+apache+mysql+php)
源码安装 本次使用 Centos7.2 MySQL5.7.22 Apache2.4.37 PHP5.6.38 安装Apache 安装httpd和所需依赖:gcc, apr, apr-util,apr- ...
- java日期间相隔年月日计算
/** * 获取date1相距date2多少天, date2>date1 * @param date1 * @param date2 * @return ...
- UWP Acrylic Material
文档:https://docs.microsoft.com/en-us/windows/uwp/design/style/acrylic Acrylic 能带来类似 win7 的毛玻璃效果 要使用 A ...
- 通过View.post()获取View的宽高
在Android里,获取View宽高的时机是个老生常谈的话题了.众所周知,在Oncreate里直接调用View.getWidth或者View.getMeasuredWidth返回都是0.所以获取宽高时 ...
- js原型与原型链探究
原型有一个非常重要的属性叫 prototype 一.先写一个简单的例子,看看 A的原型和A的实例 分别是什么 function A() {} var a = new A() console.log(a ...