不同的客户端对服务器同一页面进行请求,怎样使同一页面的同一变量对不同客户端保持不同的值??
举个例子:default.aspx.cs页面有一变量archID,不同的客户端A和B先后对其进行页面请求,怎么使A有A的archID,B有B的archID??即archID应该怎样声明?反正public static archID;我试过了不行。

解决方案 »

  1.   

    使用Session啊Session["UserName"] = "AA";Session["UserName"] = "BB";
      

  2.   

    public static archID="";你判断不同用户,赋不同的值得
      

  3.   

    这样不行的,在A客户端操作的时候若B客户端进行了操作,那么A的archID就变成B的archID了。
      

  4.   

    你没有明白我的意思。archID是default页面的全局变量。我用cookie给archID赋值,archID=getCookies("archID")。 A访问的时候进行一次赋值,如果这个时候B又访问这个页面了,那么又进行了一次赋值,那么A的archID就变了。就不对了。怎么能使A有A的archID,B有B的archID,C有C的archID,D有D的archID 本人学.net没有多长时间,请教了。
      

  5.   

    我的意思是
    archID是default页面的全局变量。很多地方都要用到。在pageload的时候我用cookie给archID赋值,archID=getCookies("archID")。 A访问的时候进行一次赋值,如果这个时候B又访问这个页面了,那么又进行了一次赋值,那么A的archID就变了,就变成Bcookie中的archID的值了。这样就不对了。
      

  6.   

    怎么脑筋转不过来呢??
     
    public void Page_Load(object sender,EventArgs e)
    {
         if(!IsPostBack)
         {
             Session["archID"] = getCookies(); //取得Cookie值并保存在Session中,这样Session保存的是每个客户端各自的Cookie值
         }
    }
      

  7.   

    哈哈,这是一种解决办法。
    这样的话以后每次用archID的时候就用Session["archID"]了,那这样的话其实还不如每次都用getCookies("archID")。
      

  8.   

    是啊,本来读取Cookie,获取到的就是本地的值,每个不同客户端值都是自己各自的,你非要想复杂了,饶了一大圈,还回到原地,何必呢?
      

  9.   

    其实我想可不可以通过public static archID或private static archID 这样定义的方法来使服务器为每个客户端都建立自己的archID??public,private,或static有没有这样的作用?我在Google了一下但不是特别明白。
      

  10.   

    不明白说什么,A,B有各自的页面和archID值,是你那个页面类的两个实例
      

  11.   

    需求决定了你用static关键字注定满足不来要求,可以去掉static然后用2楼的思维方式就可以达到你的效果