保存页面状态

问题:

  页面中有菜单页和内容页,都在同一个页面显示。问题是刷新之后,或者从某个页面跳转到另外一个内容页面的时候,菜单状态失效或者页面会到首次登陆状态。

要求:

  1. 刷新或者重新加载时,保持页面(菜单页和内容页)状态;

  2. 页面内部功能回退:能正常回退;

  3. 退出时,清除所有状态。

方案:

  1. 分别保存菜单状态和页面状态;

  2. 提供修改菜单和页面状态的方法, 提供清除状态的方法;

  3. 刷新或者加载时,能够利用缓存中的状态;

  4. 退出或者登录时,清除所有状态。

保存页面状态

时间: 2024-10-11 11:44:02

保存页面状态的相关文章

关于浏览器回退默认行为的研究 回退保存页面状态

缘起:最近在研究 移动端的页面研发工作,由于之前从来没有专业开发过移动端页面,所以在开发过程中,可以说是处处有精彩,处处有收获.最让我意外的是,浏览器页面回退问题 就是个头疼的问题. 需求:我们的需求是,在a页面,打开b页面,之后b再回退到a页面,a页面仍然能保持 a刚刚打开b页面时的状态. 分析过程:最开始接到这个需求,觉得这也不是啥大需求啊,浏览器默认行为,就能支持吧,经过测试后,发现有的浏览器支持,有的不支持.有的页面支持,有的页面不支持,可以说,比较懵,最后决定,先分析一些基本的浏览器知

使用SQL Server保存Session状态,实现单点登录

在做一些应用网站时,我们可能会碰到这样一种情况:整个项目是由多个网站组成的,而我们要实现用户从一个站点登录后,跳转到其他网站不需要重复登录,即实现单点登录.目前实现单点登录的技术也有好几种,这篇文章描述一下如何使用ASP.NET2.0和SQL Server来实现单点登录.一般在用户登录成功后,我们需要把用户登录成功的信息保存在Session里,但是Session的值只能保存在用户当前访问的站点下,只要我们实现了Session的跨站共享,也就基本上实现了用户在一个站点登录成功后在其他站点不需要重复

fragment保存页面不销毁

Fragment保存页面不销毁 在用fragmenttabhost做页面切换的时候,发现只要一来回切换fragment,fragment页面就会重新初始化,也就是执行onCreateView()方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态 解决方案: 在Fragment onCreateView方法中缓存View 代码实现: protected WeakReference<View> mRootView; @Override public View onCrea

页面状态保持机制(编辑中)

在ASPX页面中,每个控件的状态,通过VIEWSTATE进行保持,但前提是必须以回调的方式进行调用.我们的很多页面处理,都是以URL调用的方式进行的,无法使用VIEWSTATE. 在上例的分页处理中,使用了URL参数来传递状态,这种传递方式简单明了,但也存在问题: 1.复杂 2.和其他方式之间的共处存在问题 特别是第二点,在分页中体现得非常明显:既要能通过URL传递,还要允许页面控制,还要能传递新的参数.要实现这一要求,只能借助复杂的处理逻辑来实现了: 这种方式,当页面还有其他参数的时候,就会很

Fragment-如何监听fragment中的回退事件与怎样保存fragment状态

一.如何监听Fragment中的回退事件 1.问题阐述 在Activity中监听回退事件是件非常容易的事,因为直接重写onBackPressed()函数就好了,但当大家想要监听Fragment中的回退事件时,想当然的也想着重写onBackPressed()方法,这时候你会发现:Fragment中根本就没有onBackPressed()方法给你重写.这可怎么破! 想想,在前面的例子中,我们在Activity的一个fragment_container里依次Add进fragment1,fragment

自动登录、记住我(保存登陆状态)实现

自动登录.记住我(保存登陆状态)实现:保存在客户端不能用session,可以用cookies保存 实现方式:第一种方法:可以把SessionId(GUID)放到cookies中,但 这样为了让用户下次访问我们网站时,知道这 个sessionId对应的是哪一个用户,我们还要在 数据库中建张表.表字段:主键,UserId  SessionId  时间 缺点:不能在两台机器上同时保存 第二种方法:把UserId放cookies中  密码(加密)相对于第一种方法优点:多台机器可以保存缺点:不安全,密码放

使用序列化保存对象状态到存储介质

//使用序列化保存对象状态到存储介质 //添加[Serializable] Game game = new Game(); game.Level = 2; game.Player = "Tom"; FileStream fs = new FileStream(@"game.bin",FileMode.Create); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fs,game); //使用反序列化

自动化运维工具之Zabbixzabbix发现_自动注册及web页面状态监控(四)

网络发现(Network Discovery) **网络发现是zabbix最具有特色的功能之一,它能根据用户实现定义好的规则自动添加监控主机和服务等 -->speed up Zabbix deployment -->simplify administration -->use Zabbix in rapidly changing environments without excessive administration **Zabbix的网络发现功能可基于如下信息进行: -->IP

页面状态还是组件?到底什么才是交互的中心?

随着信息行业的日益发展,软件的开发设计得到了更多人的重视,软件的原型设计也同样的变得原来越重要.我们目前使用的原型设计工具中,设计的模式普遍为两种,一种是以页面状态为中心来设置交互,比如Flinto for Mac和Principle.另一种模式则是以组件为中心,这种工具也很多,比如大家常用的Axure和Mockplus.那么这两种方式哪一种才是最好的呢?我们这里来做一下具体的分析. 一.以页面状态为中心 Flinto for Mac和Principle这类原型设计工具有一个共同点,那就是它们本