问题描述
我有一个问题列表页面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里面