首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

session里的数据相互影响解决方案

2012-02-23 
session里的数据相互影响如:登陆页面login.aspx:登陆成功 session[name]aawindow.locationqq.aspx

session里的数据相互影响
如:登陆页面login.aspx:
登陆成功 session["name"]="aa";
window.location='qq.aspx' 

商品显示页面qq.aspx,根据不同用户来显示用户相应的商品。
前台显示。
后台查询:select productname from product where username=session["name"];

在ie下,
先用用户aa登陆成功,显示的是aa对应的商品。
再用bb用户登录成功,显示的还是aa对应的商品,重新刷新一下页面才能变成bb的商品。

不知怎么会事。session这样用对不对啊


[解决办法]
string str_sup_no = (string)Session["name"].ToString().Trim();//登陆用户ID
然后你在select productname from product where username=str_sup_no; 

[解决办法]
应该在每次显示产品的语句后面把session["name"]的值清空啊!我是这样想的!
[解决办法]
session["name"]="aa"; 

那么name永远就等于aa,因为你已经给name赋了aa的字符串值了。
应该是这样

C# code
string sql="select productname from product where username='"+TextBox1.Text+"'";SqlCommand Comm = new SqlCommand(sql, EConn);SqlDataReader dr = Comm.ExecuteReader();if(dr.Read()){ Session["Name"] = dr["username"].ToString();}dr.Close
[解决办法]
既然刷新了一下就能显出bb的商品,那基本可以排除楼上几位的判断!这是本地缓存的问题,在IE设置中,“常规”--“internet临时文件”的“设置”--“每次访问此页时检查”选中即可!
[解决办法]
请空IE缓存:
protected void Page_Load(object sender,EventArgs e)
{
Response.CacheControl="no-cache";
}

热点排行