不同的客户端对服务器同一页面进行请求,怎样使同一页面的同一变量对不同客户端保持不同的值??public,static分别意味着什么?

ideal_01 2012-02-26 08:45:20
不同的客户端对服务器同一页面进行请求,怎样使同一页面的同一变量对不同客户端保持不同的值??
举个例子:default.aspx.cs页面有一变量archID,不同的客户端A和B先后对其进行页面请求,怎么使A有A的archID,B有B的archID??即archID应该怎样声明?反正public static archID;我试过了不行。
...全文
150 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
licai1210 2012-02-26
  • 打赏
  • 举报
回复
需求决定了你用static关键字注定满足不来要求,可以去掉static然后用2楼的思维方式就可以达到你的效果
秋的红果实 2012-02-26
  • 打赏
  • 举报
回复
不明白说什么,A,B有各自的页面和archID值,是你那个页面类的两个实例
ideal_01 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 taomanman 的回复:]

引用 6 楼 ideal_01 的回复:

引用 4 楼 denqh 的回复:

引用 3 楼 ideal_01 的回复:
引用 2 楼 denqh 的回复:

public static archID="";

你判断不同用户,赋不同的值得

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

你可以用2楼的方法
……
[/Quote]
其实我想可不可以通过public static archID或private static archID 这样定义的方法来使服务器为每个客户端都建立自己的archID??public,private,或static有没有这样的作用?我在Google了一下但不是特别明白。
暖枫无敌 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ideal_01 的回复:]

引用 7 楼 taomanman 的回复:

引用 6 楼 ideal_01 的回复:

引用 4 楼 denqh 的回复:

引用 3 楼 ideal_01 的回复:
引用 2 楼 denqh 的回复:

public static archID="";

你判断不同用户,赋不同的值得

这样不行的,在A客户端操作的时候若B客户端进行了操作,那么A的archID就变成……
[/Quote]
是啊,本来读取Cookie,获取到的就是本地的值,每个不同客户端值都是自己各自的,你非要想复杂了,饶了一大圈,还回到原地,何必呢?
ideal_01 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 taomanman 的回复:]

引用 6 楼 ideal_01 的回复:

引用 4 楼 denqh 的回复:

引用 3 楼 ideal_01 的回复:
引用 2 楼 denqh 的回复:

public static archID="";

你判断不同用户,赋不同的值得

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

你可以用2楼的方法
……
[/Quote]
哈哈,这是一种解决办法。
这样的话以后每次用archID的时候就用Session["archID"]了,那这样的话其实还不如每次都用getCookies("archID")。
暖枫无敌 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ideal_01 的回复:]

引用 4 楼 denqh 的回复:

引用 3 楼 ideal_01 的回复:
引用 2 楼 denqh 的回复:

public static archID="";

你判断不同用户,赋不同的值得

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

你可以用2楼的方法

我的意思是
archID是default页……
[/Quote]
怎么脑筋转不过来呢??

public void Page_Load(object sender,EventArgs e)
{
if(!IsPostBack)
{
Session["archID"] = getCookies(); //取得Cookie值并保存在Session中,这样Session保存的是每个客户端各自的Cookie值
}
}
ideal_01 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 denqh 的回复:]

引用 3 楼 ideal_01 的回复:
引用 2 楼 denqh 的回复:

public static archID="";

你判断不同用户,赋不同的值得

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

你可以用2楼的方法
[/Quote]
我的意思是
archID是default页面的全局变量。很多地方都要用到。在pageload的时候我用cookie给archID赋值,archID=getCookies("archID")。 A访问的时候进行一次赋值,如果这个时候B又访问这个页面了,那么又进行了一次赋值,那么A的archID就变了,就变成Bcookie中的archID的值了。这样就不对了。
ideal_01 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 taomanman 的回复:]

使用Session啊

Session["UserName"] = "AA";

Session["UserName"] = "BB";
[/Quote]
你没有明白我的意思。archID是default页面的全局变量。我用cookie给archID赋值,archID=getCookies("archID")。 A访问的时候进行一次赋值,如果这个时候B又访问这个页面了,那么又进行了一次赋值,那么A的archID就变了。就不对了。怎么能使A有A的archID,B有B的archID,C有C的archID,D有D的archID。。。 本人学.net没有多长时间,请教了。
DENQH 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ideal_01 的回复:]
引用 2 楼 denqh 的回复:

public static archID="";

你判断不同用户,赋不同的值得

这样不行的,在A客户端操作的时候若B客户端进行了操作,那么A的archID就变成B的archID了。
[/Quote]
你可以用2楼的方法
ideal_01 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 denqh 的回复:]

public static archID="";

你判断不同用户,赋不同的值得
[/Quote]
这样不行的,在A客户端操作的时候若B客户端进行了操作,那么A的archID就变成B的archID了。
DENQH 2012-02-26
  • 打赏
  • 举报
回复
public static archID="";

你判断不同用户,赋不同的值得
暖枫无敌 2012-02-26
  • 打赏
  • 举报
回复
使用Session啊

Session["UserName"] = "AA";

Session["UserName"] = "BB";

110,501

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧