asp.net内置对象session的用法(c#代码编写)

如图,理清题意:首先在第一个页面选择不同的链接书籍数据,下面的checkboxList(复选框按钮组)分别显示不同的内容(已完成),全选(已完成)重点来了,根据选择不同的... 如图,理清题意:

首先在第一个页面选择不同的链接书籍数据,下面的checkboxList(复选框按钮组)分别显示不同的内容(已完成),全选(已完成)
重点来了,根据选择不同的书籍点击按钮放入购物车内(购物车则存入这些书籍),最后面点击按钮查看购物车调整到第二个界面,在第二个界面显示放入购物车里面的书籍,只要这个功能就行了,其他的不用管,用c#代码写,而且只用session知识点,随便三言两语就打发的请路过……
展开
 我来答
dxp20053116
2014-03-27 · 超过19用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:40.4万
展开全部

制作这种购物车之前,我们需要做的是;

  1. 对我们的物品编码,并分类。(这样的好处非常多,最大的好处就是方便读取和录入)

  2. 假设你上面的是同一类三个物品我们分别编为A-1,A-2,A-3,

    如果在购物页面选择了A-1和A-2,我们可以在点击加入购物车的按钮上加入下面的代码

    Session["MYgoods"]="A-1,A-2";

  3. 重点来了,在第二个页面我们可以很方便读取这个Session。

    string[] mygoods=Session["MYgoods"].ToString().splict(new char[]{','});

    分离出我们存放的商品

  4. 一般来说我们对物品编码后,会同时编写一个物品名称和对应编码的相互转换函数。意思就是通过编码可以得到名称,通过名称可以得到编码。到这里我相信你懂了。

     

追问
刚学session这个内容,你上面的内容看的懂,但是不好实用啊,能说说具体代码么?
追答
如果你只是做研究,意思是你的物品只有上面页面那么点的话,你可以用一个 数组存放编码和名称的关系,如果是实际用的话 这个必须在数据库中有一个表来记录这个关系。
特别注意,如果没有数据库,该数组必须是全局的,意思就是每个页面都能访问到。
办法:在项目中添加 全局应用程序类 Global.asax ,在里面声明全局静态数组变量。
public static string[,] goods=new string[3,2];//3表示物品个数 2表示列数
goods[0][0]="C语言程序设计";
goods[0][1]="A-1";
goods[1][0]="C++程序设计";
goods[1][1]="A-2";
。。。
并编写转换函数
public string ConvertName(string num)
{
string fiendname="";
for(int i=0;i<Global.goods.length;i++)
{
if(Global.goods[i][1]==num)
{
fiendname=Global.goods[i][0];
break;
}
return fiendname;
}
}
在选择商品页面,新建一个字符串变量 记录选择的商品 string goods="";//注意是字符串 不是数组
如果选择了某个商品记录,记录下来(记录编码)。
第一个 goods="A-1";
第二个 goods+="A-2";
点击加入购物车时

Session["MYgoods"]=goods;

在跳转页面后 将编码转换为商品名
string[] mygoods=Session["MYgoods"].ToString().splict(new char[]{','});
string[] goodsname=new string[mygoods.length];
goodsname[0]=ConvertName(mygoods[0]);
for()。。 循环赋值
然后将 goodsname 数组显示出来。

补充:
上面的办法 仅仅是为了研究实现SESSION。 实际中 用数据库就不是上面这么写了 ,但是核心还是一样的,SESSION 的作用就是在用户访问期间,记录用户的一些信息,然后可以在各个页面间读取出来。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式