关于ajax的页面刷新问题
2014-03-12 20:17
357 查看
今天调查了一个gridview的行刷新的问题。
使用了ajax进行行的移动操作,当然使用的是jquery的tablepnp插件,还有一个功能就是层级折叠问题,这个使用的viewstate保存的,于是出现了一个这么的问题:
当gridview的行移动之后,然后点击与先前位置改变的带层级的行时,层级关联的几行确实被折叠了,但是,行有恢复了没有移动时的索引位置。
经过半天的调查,在移动行时,发现ajax在请求页面的时候,页面保存的viewstate是没有值的,间接证明了ajax是请求一个完全的新页面,而后进行折叠或者展开,读取页面是可以读到之前的viewstate的,但是读取的行的索引(一个按钮的commandargument参数)是之前在刚一进页面的索引,所以ajax请求的页面和本页的状态都是没有关系的,且在行移动后,页面没有刷新绑定。
结论:
ajax发送的请求页面和本页面刷新的页面状态是隔离的。
找到问题,就好解决了,在ajax请求完成后,使用window.top.location.href=window.location.href从新请求一次页面就可以绑定新的索引值了。这个时候viewstate已经读取不到了,所以需要借用其它的方法。
例如session。
本文出自 “越努力,越幸运” 博客,转载请与作者联系!
使用了ajax进行行的移动操作,当然使用的是jquery的tablepnp插件,还有一个功能就是层级折叠问题,这个使用的viewstate保存的,于是出现了一个这么的问题:
当gridview的行移动之后,然后点击与先前位置改变的带层级的行时,层级关联的几行确实被折叠了,但是,行有恢复了没有移动时的索引位置。
经过半天的调查,在移动行时,发现ajax在请求页面的时候,页面保存的viewstate是没有值的,间接证明了ajax是请求一个完全的新页面,而后进行折叠或者展开,读取页面是可以读到之前的viewstate的,但是读取的行的索引(一个按钮的commandargument参数)是之前在刚一进页面的索引,所以ajax请求的页面和本页的状态都是没有关系的,且在行移动后,页面没有刷新绑定。
结论:
ajax发送的请求页面和本页面刷新的页面状态是隔离的。
找到问题,就好解决了,在ajax请求完成后,使用window.top.location.href=window.location.href从新请求一次页面就可以绑定新的索引值了。这个时候viewstate已经读取不到了,所以需要借用其它的方法。
例如session。
本文出自 “越努力,越幸运” 博客,转载请与作者联系!
相关文章推荐
- 关于执行ajax后页面局部刷新,无法执行jQuery问题
- 关于HTML发送AJAX请求一直重复刷新页面问题
- 关于解决jquery用get实现ajax在ie里面刷新不进入后台的问题
- 关于UpdatePanel和页面刷新的问题
- 关于ajax请求后台接口无法进行页面跳转的问题
- 关于 ie 下使用 iframe 加载子页面时,子页面ajax数据能进入success方法,但是数据为空的问题
- 使用AJAX调用数据库不刷新更新页面问题
- Ajax请求后页面刷新问题
- 关于Vue项目路由栏去除“#”的处理方法及其刷新页面时出现404问题
- 关于ajax请求后台接口无法进行页面跳转的问题
- 关于button按钮自动提交表单刷新页面问题
- 关于判断离开当前页面(刷新或关闭)时触发函数onbeforeunload有时触发有时不触发问题
- 关于ajax代码包含到页面不能调用的问题
- 关于open.window子页面执行完成后如何刷新父页面的问题
- 关于JSP页面用UTF-8编码AJAX失效的问题
- 关于ajax局部刷新后,js绑定事件失效的问题
- 关于页面自动刷新问题!
- 关于WEB页面刷新重复提交问题 - Servlet篇(拦截器)
- vue-router中关于组件复用页面不刷新的问题
- Ajax回退刷新页面问题的解决办法