多用户访问时取值问题

问题描述

我有一个问题列表页面A,一个问题内容显示页面B;会有多用户同时访问这两个页面;点击页面A中的问题标题,将这个问题的ID传入页面B,根据ID取出问题的内容来;我的问题点是:我现在出现了这种情况,就是当A用户点击问题进入了页面B,这时B用户点击了另一个问题也进入了页面B,这时候我怎么能够证A用户和B用户所操作的问题ID不是同一个ID??以下是页面B内的代码:protectedintiID;protectedvoidPage_Load(objectsender,EventArgse){iID=Convert.ToInt32(Request.QueryString["id"].ToString());iProblemLevel=Request.QueryString["iTage"].ToString();if(!IsPostBack){try{lbUrlPath.Text+="问题处理>>问题信息显示";intiUserType=Convert.ToInt32(Qlyx.Common.Utils.FormatHTML(Request.QueryString["iUserType"].ToString()));}catch{}}}因为当A用户进入页面B时A用户会把问题的ID值取下来传给iID变量,如果A用户存完问题ID后来了个B用户,B用户把它所操作的问题ID也存入到了iID变量中,这样的话A用户再去取变量iID的值时就不是他赋的值了,而变成了B用户赋的值了。。我想知道怎么能够确定不会出现这种混乱的情况。。使程序能够确保A用户取值是不会取成B用户赋给iID后的值???

解决方案

解决方案二:
你又不是定义的静态变量,怎么会互相覆盖呢?page的生命周期是以每次请求为单位的,你请求完了,就消失了,第二次请求过来,它会重新构造page类。从你的代码来看,不会出现你说的问题。
解决方案三:
存到cookie里面
解决方案四:
引用1楼tmxk2002的回复:

你又不是定义的静态变量,怎么会互相覆盖呢?page的生命周期是以每次请求为单位的,你请求完了,就消失了,第二次请求过来,它会重新构造page类。从你的代码来看,不会出现你说的问题。

UP
解决方案五:
不会出现你说的情况........
解决方案六:
楼主使用的不是静态变量,也不是全局变量用户请求间不共享这些数据,所以楼主不用担心
解决方案七:
存到cookie里面

时间: 2024-11-08 18:12:09

多用户访问时取值问题的相关文章

hql-HQL语句取值时,有的值没取出来

问题描述 HQL语句取值时,有的值没取出来 如图:count值没取出来 hql语句如下:String queryString = ""from InfoHotWord as infoHotWord "" + ""where infoHotWord.word ='""+word+""'""; 解决方案 没听懂,你倒是把查询结果贴出来啊 解决方案二: 你把hql语句转成sql语句在数据库运行

多选操作时用的复选框,有关验证与取值,求解方法哪里不对,也是找来的代码

问题描述 多选操作时用的复选框,有关验证与取值,求解方法哪里不对,也是找来的代码 表单如下: 全选ABCDEF 全选及验证javascript如下: function checkAllBox(obj){ var answer= document.getElementsByName(""answer""); if(obj.checked==true){ for(var i=0;i<answer.length;i++){ answer[i].checked = t

导入-在poi读取excel的合并数据时,怎么判断合并了多少行以及怎么取值

问题描述 在poi读取excel的合并数据时,怎么判断合并了多少行以及怎么取值 类似于上面的导入格式怎么读数据 解决方案 参考这个EXCEL中如何用VBA判断某一地址单元格是否为合并单元格然后把vba转成你自己的语言http://wenku.baidu.com/link?url=nsc0K4oKljjsvfVayJIXT9q2oNcWMwgjRghQdCqOPPJaH_Zm0UNgwqRKRdmC5PypqxvKwIDBgRV7i8W9sxiR0_KhBR78e6b6vTenaoVEE-7

hashmap-Struts1中map转换成json传到前台时取不到值——求指点!

问题描述 Struts1中map转换成json传到前台时取不到值--求指点! 后台报这个: Property 'servlet' has no read method. SKIPPED Property 'servletFor' has no read method. SKIPPED Property 'servlet' has no read method. SKIPPED Property 'servletFor' has no read method. SKIPPED Property '

jquery-如何用Jquery实现当 vlaue中的el表达式取值为空时 隐藏该这个选项

问题描述 如何用Jquery实现当 vlaue中的el表达式取值为空时 隐藏该这个选项 如何用Jquery实现当 vlaue中的el表达式取值为空时 隐藏该这个选项 <label> <div class="checker "> <input type="checkbox" value="${questionNaireQuestion.option15}">O ${questionNaireQuestion.op

jsp中EL表达式在判断时如何取值呢

问题描述 jsp中EL表达式在判断时如何取值呢 ${users.getUsers_name()!=""?"欢迎你"+${usershttp://ask.csdn.net/questions/238187#.getUsers_name()}:"您还没有登陆,请登录"} 如果登陆成功,我想把用户名也得到,但是不行呢 解决方案 ${ !empty(users.getUsers_name())?"欢迎你${users.getUsers_name

用cookie做购物车的增删改查,cookie.Values 新增了键值对,为何在此取值时,就只有第一条数据了

问题描述 用cookie做购物车的增删改查,cookie.Values新增了键值对,为何在此取值时,就只有第一条数据了HttpCookiecookie=newHttpCookie("carcookie");//创建一个大的cookie对象cookie.Values.Add("商品ID1",Server.UrlEncode("商品信息列表1"));//往cookie中添加子键值对cookie.Expires=DateTime.Now.AddDays

如何解决ASP.NET新增时多字段取值的问题_实用技巧

ASP.NET 开发人员在卡发时经常会碰到一个情况,就是新增的页面中字段太多,在点击保存的时候需要一个一个的赋值实体或者构建SQL语句去保存.这样不仅浪费体力还需要占用大量的文本行控件去写代码.经过构思是否可以使用一种更方便的办法去解决呢?提高代码的内聚性.  1.思路  我们知道一般新增页面最多的就是一大堆文本框让用户输入内容,然后点击保存按钮进行提交将数据持久化到数据库. 在点击提交的时候传统方式就是一个一个文本框的读取赋值.  HTML代码如下: <asp:TextBox ID="T

当json键为数字时的取值方法解析_javascript技巧

当json的键为数字时如何取值,如: var aa={'111':'aaaaa'}; alert(sss.111); 这样是不行的,alert不会弹任何东西. json的键必须是一个对象,才能取出东西,如: var aa={'s111s':'aaaaa'}; var idd="s111s"; alert(sss.idd); 解答: 对于数字键名或者非正常变量字符(比如有空格),必须使用 aa[x]的方式.var aa={'111':'aaaaa'}; alert(sss["1