c# – 我的ViewState有问题
发布时间:2020-12-15 23:59:24 所属栏目:百科 来源:网络整理
导读:我像这样使用viewstate: public bool SearchClicked { get { return Session["bool"]==null? false : (bool)Session["Bool"]; } set { Session["bool"] = value; } } 在按下按钮的代码中,触发了事件. 我设定了它: SearchClicked=true; 每回发一次,我都会检
我像这样使用viewstate:
public bool SearchClicked { get { return Session["bool"]==null? false : (bool)Session["Bool"]; } set { Session["bool"] = value; } } 在按下按钮的代码中,触发了事件. 我设定了它: SearchClicked=true; 每回发一次,我都会检查它是否属实: if (SearchClicked) { } 当我启动网站并且有回发时,该值设置为“true”. 确实,我在运行应用程序之前按下了将其设置为true的按钮几次.但每次运行应用程序时,应用程序实例都是新的.这是不是意味着每次运行应用程序时ViewState都会自行重置,并且不像Session(20分钟)那样保存其状态? 解决方法
在上面的代码中,您没有使用ViewState来存储SearchClicked值,而是使用Session来存储它. ViewState以隐藏值的形式保留在页面上,并返回到服务器.这意味着视图状态存储在浏览器中,只要用户在页面上,它就会持续存在.会话信息存储在服务器上.用户会话最终会超时,但其他事情可能会导致会话重置,例如重建应用程序或编辑web.config文件.
要存储到ViewState,请使用以下命令 public bool SearchClicked { get { return ViewState["bool"] == null ? false : (bool)ViewState["bool"]; } set { ViewState["bool"] = value; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |