页面跳转间如何保存页面查询状态

问题描述

我们公司是采用list/Detail的页面逻辑,即list页面有一个DataGrid,列出了一些项,点击其中一项后,页面跳转到Detail页面查看该项的详细。Detail页面有一个返回按钮,点击后即返回到list页面。list中的数据列表通常是经过筛选的,如xxx大于20的,然后还经过了排序的。现在问题是这样的:用户要求,当从Detail返回到list中时,数据列表中的状态不变。公司认为,这是一个合理的要求,因为数据量实在太大,谁都不想返回list就又得从第一页看起。还要求,刚才看的Detail的项目必须是在list的数据列表的当前页,而不一定是进入前list数据列表的那一页;但如果在Detail中把当前项删除,返回则必须是在进入前list数据列表的那一页。

解决方案

解决方案二:
你可以在从list页转向Detail页时的URL中多增加一个参数,代表着当前list页中DataGrid的页数,当你从Detail页返回list页时,你又把该参数在URL里传回来,然后,在list页后台判断刚才的网址(也就是从哪个页面转到这个list页面的,这个可以取得的,也就是上一个页面的URL,绝对路径,不带参数也行,自己加加减减URL字符串)是不是从Detail页返回,如果是,则取出DataGrid页号参数,重新绑定数据源,并设置当前页号为参数值说真的,如果是我的话,我肯定用弹窗的方式来解决这个问题,也就是在DataGrid中的各项链接中用:<ahref=#onclick="window.open('bookdownload.aspx?class=<%#Eval("BookClass")%>&id=<%#Eval("BookId")%>')"title='<%#Eval("BookName")%>'><%#(Eval("BookName").ToString().Length>12)?Eval("BookName").ToString().Remove(12)+"...":Eval("BookName").ToString()%></a>这代码我也不删除部分了,你自己慢慢分析,哈,这是弹窗的,你控制好参数就行了
解决方案三:
建议用弹出窗口或相似的方式做,因为如果数据量大,你返回后页面要重新加载会非常影响速度,给服务器造成很大压力
解决方案四:
我以前做的时候,通过传参数吧List页的页数查询条件等传到Detail,完了又传回来。
解决方案五:
正好我也同有这个疑惑,收获挺多,呵呵
解决方案六:
引用1楼likevs的回复:

你可以在从list页转向Detail页时的URL中多增加一个参数,代表着当前list页中DataGrid的页数,当你从Detail页返回list页时,你又把该参数在URL里传回来,然后,在list页后台判断刚才的网址(也就是从哪个页面转到这个list页面的,这个可以取得的,也就是上一个页面的URL,绝对路径,不带参数也行,自己加加减减URL字符串)是不是从Detail页返回,如果是,则取出DataGrid页号参数,重新绑定数据源,并设置当前页号为参数值说真的,…

请问这个页数有什么用?我没看懂
解决方案七:
ding

时间: 2024-12-28 18:05:50

页面跳转间如何保存页面查询状态的相关文章

页面无限跳转间如何保存页面状态(1)

页面 引子 这是一个极其困难的题目,仅仅是描述一遍,都会非常困难,不过我尝试一下,希望能描述清楚: 我们公司是采用list/Detail的页面逻辑,即list页面有一个DataGrid,列出了一些项,点击其中一项后,页面跳转到Detail页面查看该项的详细.Detail页面有一个返回按钮,点击后即返回到list页面.list中的数据列表通常是经过筛选的,如xxx大于20的,然后还经过了排序的. 现在问题是这样的: 用户要求,当从Detail返回到list中时,数据列表中的状态不变. 公司认为,这

页面无限跳转间如何保存页面状态 (3)

页面 在页面上的使用,定义好了以上这些之后,在页面中该怎样用呢?首先,在List页面中实现IPageInfo接口: public class RoleList : System.Web.UI.Page,IPageInfo然后针对每一个DataGrid实例化一个DataInfo对象:protected DataInfo dataInfo = new DataInfo("Role");接着写一些处理DataGrid状态的代码,我是使用的属性:#region 数据网格状态信息 private

页面无限跳转间如何保存页面状态(2)

页面 解决方法的实现 以上分析过了之后,我们来看如何实现他: class DataInfo:这个类用于保存数据状态,一般而言,也就是每个DataGrid对应一个:[Serializable()] public class DataInfo { private string dataName; private Hashtable searchParams; private Hashtable otherParams; private int currentPage; private string

jQuery移动web开发之页面跳转和加载外部页面的实现_jquery

changePage() 页面跳转 jQuery.mobile.changePage( to [, options ] ) 从一个页面跳转到另一个页面,使用$.mobile对象的changePage方法来实现.但要使用此方式的时候,要以点击一个链接或者提交表单来实现.此方法有两个参数. to:是第一个参数,是必须的,不可缺少.类型:字符串或者对象. 字符串: 绝对或相对URL地址.如:("about/us.html") 对象: jquery选择器对象,如:($("#about

php-在PHP页面跳转到另外一个页面并且传POST值

问题描述 在PHP页面跳转到另外一个页面并且传POST值 在PHP页面跳转到另外一个页面并且传POST值 求解释 求代码 解决方案 http://bbs.csdn.net/topics/390857158 解决方案二: 什么都不用,就想实现效果! 解决方案三: 直接把post值用header()写入, 最后重新指定Location 解决方案四: 逐步POST,取关键信息,比如说COOKIE,协议头 解决方案五: header的同时 post

javascript-ul li a :hover样式设置后,链接点击后页面跳转,但是原页面,超链接依然处于hover状态

问题描述 ul li a :hover样式设置后,链接点击后页面跳转,但是原页面,超链接依然处于hover状态 如题,ul li a :hover样式设置背景色蓝色,链接点击后页面跳转,但是原页面,超链接背景色依然是蓝色,查看元素发现a仍处于hover状态,请问这种情况如何解决? 解决方案 点击之后是a:visited样式,看看是不是和hover一样了 解决方案二: http://blog.csdn.net/huwenhu2007/article/details/24669631 解决方案三:

基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)_jquery

比如 想跳到 mao.aspx 的页面 的div id="s" 的位置 那么 只用<a href="mao.aspx#s"> 就可实现跳转到指定位置 现在为了增加用户体验 跳转到页面后 平滑移动到该位置 怎么做呢 其实也很简单啦 那边传递过来一个 要跳转到哪个div的参数就行 先上一段 页面获取参数的 通用js 复制代码 代码如下: //根据参数名获得该参数 pname等于想要的参数名 function getParam(pname) { var par

PHP 页面跳转到另一个页面的多种方法方法总结_php技巧

一.用HTTP头信息 也就是用PHP的HEADER函数.PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等. 用HTTP头信息重定向到另外一个页面的方法如下: 复制代码 代码如下: <? if (isset($url)) { Header("HTT

JAVASCRIPT实现的WEB页面跳转以及页面间传值方法_javascript技巧

但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能. 下面是具体的做法: 一:跳转到新页面,并且是在新窗口中打开时: 复制代码 代码如下: function gogogo() { //do someghing here... window.open("test2.html"); } window是一个javascript对象,可以用它的open方法,需要注意的是,如果这个页面不是一相相对路径,那么要加http://,比如: 复