QueryString 值被覆盖

hutaopl2 2011-05-23 10:50:06
问题描述页面分左右2侧,左侧为导航,左侧导航都导航到同一个页面,然后根据传过来的参数去判断页面显示。现在是多个用户在同时操作的时候,发现后面用户操作时传的值把前面的用户操作时传的值给覆盖掉了。这到底是什么原因。
...全文
101 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
海阔天空 2011-05-23
  • 打赏
  • 举报
回复
主要原因就是那个全局静态变量的问题,
静态变量是服务器上的分配地址存的,你后面的人登录以后相关信息写入静态变量的时候把以前的值整没了,以前的人读的就是后面人的信息。
至于所有页面都用到,可以考虚SESSION来传值,或者COOK,
或者其它页面用到时用?传值 ,ASP.NET 5种页面传值方式基本上都可以实现,你可以试试。
其中最常用的就是?地址传值和,SESSION传值 。
如jjj.aspx?id=1传值 用Request.QueryString方法就能获取id的值等于1
rocket2010 2011-05-23
  • 打赏
  • 举报
回复
帮不了……只能来学习下........
hutaopl2 2011-05-23
  • 打赏
  • 举报
回复
这个问题就是因为我设置了全局静态变量的原因吗?
hutaopl2 2011-05-23
  • 打赏
  • 举报
回复
各位,不好意思,我对http不是很了解,我是从应用程序开发转过来的,谁能跟我说说这其中的原理吗?
hutaopl2 2011-05-23
  • 打赏
  • 举报
回复
额,我当时定义全局变量是应为整个页面都要用到那个id ,是不是用HttpContext这个对象可以解决这个问题啊
kingdom_0 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hutaopl2 的回复:]

我在页面最上面定义了一个全局变量用于整个页面使用,全局变量为静态的
[/Quote]那就难怪了……全局变量谁都可以用,后面的用户当然覆盖前面的用户的参数了
楼主在这上面改改吧。
海阔天空 2011-05-23
  • 打赏
  • 举报
回复
把那个全局变量拿掉,然后,用SESSION或者,地址传值,什么的都可以
vrhero 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hutaopl2 的回复:]
我在页面最上面定义了一个全局变量用于整个页面使用,全局变量为静态的
[/Quote]
不用猜就知道...在页面级用静态对象的都该挨骂,好好去看看HTTP原理、ASP.NET页面生存周期...
MOTA 2011-05-23
  • 打赏
  • 举报
回复
不要对多用户定义静态变量。你可以使用SESSION
hutaopl2 2011-05-23
  • 打赏
  • 举报
回复
它传的不是用户而是信息的id 是局域网使用的
kingdom_0 2011-05-23
  • 打赏
  • 举报
回复
多个用户应该是多个Session会话吧。
多个用户都是在局域网还是广域网访问的?
hutaopl2 2011-05-23
  • 打赏
  • 举报
回复
我在页面最上面定义了一个全局变量用于整个页面使用,全局变量为静态的
MOTA 2011-05-23
  • 打赏
  • 举报
回复
应该不可能出现 两个用户操作 一个用户覆盖另外一个用户的情况
看看 你是不是写了什么公共变量了。。。
vrhero 2011-05-23
  • 打赏
  • 举报
回复
谁让你乱用静态对象的...
hutaopl2 2011-05-23
  • 打赏
  • 举报
回复
急啊,各位大哥帮帮忙解决一下,非常感谢了
kingdom_0 2011-05-23
  • 打赏
  • 举报
回复
这帖子结的不合理……分数应该多给大蝎子一些,他说的虽然少,但都是干货!

110,534

社区成员

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

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

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