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. SHOT

  2. RSA加密解密算法

    /** * RSA加密解密算法 * Class Rsa */ class Rsa { /** * 获取pem格式的公钥 * @param $public_key 公钥文件路径或者字符串 * @retu ...

  3. 一位6年老Android面经总结

    声明|作者:android进阶者地址:https://www.jianshu.com/p/d77873cbad5f 前言 准备面试其实已经准备了挺久了,当时打算面试准备了差不多以后,跟公司谈谈涨薪的事 ...

  4. JS,JQ实现模拟暂停FOR循环,间隔几秒后再继续执行

    <!DOCTYPE html><head><script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquer ...

  5. UOJ#129. 【NOI2015】寿司晚宴 动态规划

    原文链接www.cnblogs.com/zhouzhendong/p/UOJ129.html 题解 考虑把大于等于 $\sqrt n$ 的质数和小于 $\sqrt  n$ 的分开考虑: 1. 小于等于 ...

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

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

  7. 从BAT这种公司平薪跳槽头条,是否值得?

    有一个朋友之前就职于阿里,之前交流关于跳槽的问题,具体是这样的:阿里工作3年,拿到了头条的offer.但是非常纠结要不要接的问题.于是几个朋友聚在了一起讨论了这个问题 而且最近好多读者也在参加面试,接 ...

  8. 类中被final修饰的成员变量需要初始化

    类中被final修饰的成员变量需要初始化,否则编译不通过,因为final修饰后不能再赋值,因此必须初始化.

  9. .Karma+Jasmine+karma-coverage

    单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明确的功能是否正确.通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为. Karma是一个基于N ...

  10. 跟大家谈一谈:涛舅舅家的微信域名检测api的心路历程

    微信域名检测,这是近一年来兴起来的一种网络服务,可以通过api接口来对域名进行批量检测,以确认该域名有没有被微信拦截(见红),然后通过编程来实现域名切换保障链接可以正常打开. 涛舅舅工作室从事微信域名 ...