害人的asp.net static变量

之前一直做C/S编程,最近由于公司业务扩展要做一个网站,于是就把任务派给我了。

在做一个关于用户列表分页时,自己测试没问题,但公司几个同事同时测试时出现了一个奇怪的现象。a浏览第一页内容,然后点击下一页时一下子蹦到了第四页,用户注册以后,头像编程别人的了等等,找了半天也没发现代码有错误,经过一番搜索,总算找到了问题的根结所在—— 一些变量使用了static类型。在Asp.net中所有的用户将使用同一个static变量。这就意味着每一个使用该页面的用户对该变量的操作将会影响到其他用户(ps:用来做网站的访客量貌似不错)。

解决方案:ViewState

ViewState对象用来保存页面中的各种变量,甚至是对象。为什么可以用ViewState而不能用static变量哪?原因就是服务器端会为每个连接到该页面的用户分别建立一个ViewState,所以ViewState相当于页面级的Session。这下我们可以放心地使用ViewState来存取需要暂存的变量和对象了。不过如果要使用 ViewState,则在 ASPX 页面中必须有一个服务器端窗体标记 (<form runat=server>)。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值