日期:2014-05-18  浏览次数:20408 次

我是新手,问一个关于session的问题
我在做网络五子棋
现在在双方登录时记录一方的SESSION为0,另一方的SESSION为1

Session["black"] = "0";//我先初始化让黑棋方为0先走。
Session["white"] = "1";

并且希望SESSION为0的一方能够下棋,而为1的则不能下。
所以我把程序写成
  if (Session["black"].ToString() == "0")
  {
  Application["rows"] = "1";//记录行的位置
  Application["cols"] = "a1";//记录列的位置
  Application["db"] = "1";//保存棋子,为了数据库中记录,黑棋为1
  Application["1"] = "1";//保存棋子,为了刷新后显示,黑棋为1
  ImageButton1.ImageUrl = "pic\\b4.JPG";
  db();//调用函数实现数据库记录
  Session["black"] = "1";
Session["white"] = "0";  
  }
  if (Session["white"].ToString() == "0")
  {
  Application["rows"] = "1";//记录行的位置
  Application["cols"] = "a1";//记录列的位置
  Application["db"] = "2";//保存棋子,为了数据库中记录,白棋为2
  Application["1"] = "2";//保存棋子,为了刷新后显示,白棋为2
  ImageButton1.ImageUrl = "pic\\b5.JPG";
  db();
  Session["white"] = "1";
  Session["black"] = "0";
  }

我开了2个同样的页面来下棋,在黑棋把这步下好的同时我想把Session["black"] 变为1,而Session["white"]变为0,希望白棋开始下。
但是现在的问题是,我这样写了以后,发现SESSION无法从一个页面传到另一个页面。
黑棋方的页面SESSION有了2个变为了10,而百棋还是1。

不知道各位高手有没有理解我的意思呵呵,希望有高手能帮我解决这个问题。

------解决方案--------------------
session 是局部的变量(每个人都有自己的),他们是相互独立的 ,只有当前用户拥有自己的session,其他人看不到别人的session的,你可以使用application,他们就可以共享了