黑马程序员技术交流社区

标题: 可以将值保存在哪里?Session丢失的时候,仍然取的到? [打印本页]

作者: 彭家贰小姐    时间: 2013-6-7 22:54
标题: 可以将值保存在哪里?Session丢失的时候,仍然取的到?
本帖最后由 彭家贰小姐 于 2013-6-8 10:38 编辑

系统第一个页面刚加载的时候 会得到某个值 这里叫value
而超时以后 Session丢失 这个时候 我需要利用value值 来处理一些事情 但这个时候 如果得到呢

我曾试着这样写 第一个页面刚加载时 将这个值保存到
<input type="hidden" id="hidDomain" runat="server" />一个隐藏的控件的value里 但 Session丢失 我再打回这个页面的时候 这个hidden的value 却不为空:'(失败
不知谁还有木有其他办法?
作者: 无__畏    时间: 2013-6-7 22:58
本帖最后由 无__畏 于 2013-6-7 23:12 编辑


加了runat=“server”的html控件以对象的方式存在于后台,会有viewstated的,那个值保存在了viewstated里面。

所以session丢失以后,他还会有那个值。

求分噢{:soso_e163:}


作者: 彭家贰小姐    时间: 2013-6-7 23:12
无__畏 发表于 2013-6-7 22:58
runat=“server”去掉,或者 enableviewstate="true"?false  禁用viewstated加了runat=“server”的控件会 ...


:)谢谢 明天试试看
作者: 彭家贰小姐    时间: 2013-6-7 23:19
无__畏 发表于 2013-6-7 23:14
它是从viewstated读取的那个值,并不是session,如果禁用了viewstated。
那么这个隐藏域也就没有意义了。 ...

仅用过ViewState在本页面传值
至于viewstated 只记得 以前在改什么bug的时候 将web.config中设置了<pages enableViewState="false">这个 确切 干嘛的 不记得了
你的意思是 <input type="hidden" id="hidDomain" />  runat="server"这个要去掉吗? 既然说有用 那我还是先补补viewstated 这个东西的含义吧
作者: 无__畏    时间: 2013-6-7 23:41
嗯  加了runat=“server”  就有viewstated了。

比如:<intput type="text" runat="server"/>  在这个文本框内写了内容  提交了以后回来内容还在。
如果没有runat=“server”   那么提交以后里面的内容就没有了  
作者: 无__畏    时间: 2013-6-7 23:47
提交前:
  提交后:
  

用户名、姓名、住址等这几个加了runat=“server” ,所以保留了原来的数据。  
密码、验证码为了安全不能保留,没有runat=”server“


作者: 彭家贰小姐    时间: 2013-6-8 10:38
无__畏 发表于 2013-6-7 23:47
提交前:
  提交后:
  

你的方法 不适合本人问题
input type="hidden" 第一次赋的值 离开此页面 等再回到这个页面时 是不可能保存的
我目前保存在了 Application里
非常感谢你的回答 也让我了解到了viewstated :D




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2