如何完美解决页面后退功能?

dl_wang 2009-03-12 04:03:24
通过back() go(-1)或go(-2) 返回上一页时,当有表单提交的情况下返回 会显示页面过期


我的页面是这样的 A页面(绑定grideview,不是通过!this.ispostback,而是点击查询按钮后显示出来的),通过gridview的超链接(带参数)跳转到内容详细页(B),在B页可以对数据进行编辑(可能是多次提交数据),编辑数据后点击back() go(-1)或go(-2) 返回A页时 显示页面过期。


如何实现返回时还是显示A页,并且gridview还是显示的,而且处于跳转前的当前页?
...全文
252 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengks2010 2011-05-23
  • 打赏
  • 举报
回复
我也来试一试~~哈哈~~
我再试试结贴后能给分不~~哈啊哈~
annjoy303 2009-11-13
  • 打赏
  • 举报
回复
试试结贴后能不能回复!
mubai007 2009-03-24
  • 打赏
  • 举报
回复
我回答得1分,别人引用我的回答得5分,唉,天理何在?
楼主难道不知道要保护知识产权吗?
zdh43526 2009-03-17
  • 打赏
  • 举报
回复
如果不嫌麻烦可以用session
zzxap 2009-03-17
  • 打赏
  • 举报
回复
齐人结贴
zc8705 2009-03-17
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 mubai007 的回复:]
从A页面转向B页面时,把查询条件和当前页码当作参数P传到B页面;
从B页面转向A页面时,再把查询条件和当前页码当作参数P传回A页面;
在A页面的Page_Load里,判断参数P是否有值,
无值时表示是第一次加载,不做任何操作;
有值时表示是从B页面返回,调用绑定数据的方法,并把页码改为转向前的页码。
[/Quote]

=================
同意
zc8705 2009-03-17
  • 打赏
  • 举报
回复
同意
keyeyun 2009-03-15
  • 打赏
  • 举报
回复
用postbackUrl试试
mengxj85 2009-03-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 dl_wang 的回复:]
进入编辑界面,记下当前页2
用response.redirect("a.aspx?page=2")
获取2,重新绑定数据,不过你的绑定数据要支持URL分页
----------------------------------------------

我明白这些。但是gridview的绑定事件不是在pageload里运行的,而是在查询按钮事件里绑定。 现在的问题是返回a页,没法绑定gridview
[/Quote]
把查询条件当参数传到B页面,返回时再将参数传回A页面
  • 打赏
  • 举报
回复
你给跳转的 tage.. 写不到了也就是跳转样式写为Blank
在新的窗口中打开那样的话A页面和B 页面都存在了! 就不需要返回了
mubai007 2009-03-14
  • 打赏
  • 举报
回复
从A页面转向B页面时,把查询条件和当前页码当作参数P传到B页面;
从B页面转向A页面时,再把查询条件和当前页码当作参数P传回A页面;
在A页面的Page_Load里,判断参数P是否有值,
无值时表示是第一次加载,不做任何操作;
有值时表示是从B页面返回,调用绑定数据的方法,并把页码改为转向前的页码。
pgameli 2009-03-14
  • 打赏
  • 举报
回复
用url重写不就行了么
A页面传B页面
b.aspx?value=值
B页面传到A页面
a.aspx?value=值
xiaoxiaozhu001 2009-03-14
  • 打赏
  • 举报
回复
学习 !
lonelySurvive 2009-03-14
  • 打赏
  • 举报
回复
你把绑定单独写成个方法,然后按钮底事件底下在调用那个方法....
你返回从新绑定的时候就预判一次

if(Request.QueryString["pageindex"]!=null)
{
然后把某个参数赋值,实现绑定,是空的时候就按你原来绑定就好了
}
zzxap 2009-03-12
  • 打赏
  • 举报
回复
pageload 的时候 绑定gridview
dl_wang 2009-03-12
  • 打赏
  • 举报
回复
自己顶一下
dl_wang 2009-03-12
  • 打赏
  • 举报
回复
没人知道吗
dl_wang 2009-03-12
  • 打赏
  • 举报
回复
进入编辑界面,记下当前页2
用response.redirect("a.aspx?page=2")
获取2,重新绑定数据,不过你的绑定数据要支持URL分页
----------------------------------------------

我明白这些。但是gridview的绑定事件不是在pageload里运行的,而是在查询按钮事件里绑定。 现在的问题是返回a页,没法绑定gridview
zzxap 2009-03-12
  • 打赏
  • 举报
回复
进入编辑界面,记下当前页2
用response.redirect("a.aspx?page=2")
获取2,重新绑定数据,不过你的绑定数据要支持URL分页


zzxap 2009-03-12
  • 打赏
  • 举报
回复
用response.redirect("a.aspx")
加载更多回复(7)
# 单页面和多页面开发及应用 # 单页面: - 什么是单页面:单页面是指只有一个主页面的应用,浏览器一开始要加载所有必须的 html, js, css。所有的页面内容都包含在这个所谓的主页面中。但在写的时候,还是会分开写(页面片段),然后在交互的时候由路由程序动态载入。 - 跳转仅加载一次,用于PC和公务网站 - 页眉 -> 第一页,第二页, 第三页 -> 脚本 # 单页面技术: -AngularJS是一个全面的客户端侧框架。其模板基于双向UI数据绑定。数据绑定是一种自动方法,在模型改变时更新视图,以及在视图改变时更新模型。其HTML模板在浏览器中编译。编译步骤创建纯HTML,浏览器将其重新渲染到实时视图。该步骤会在随后的页面浏览中重复。在传统的服务器端HTML编程中,控制器和模型等概念在服务器进程中进行交互以产生新的HTML视图。在AngularJS框架中,控制器和模型状态在客户端的浏览器中维护,从而使生成新页面不依赖与服务器的交互。 -Ember.js是基于模型-视图-控制器(MVC)软件架构模型的客户端侧JavaScript Web应用程序框架。它允许开发人员在一个框架中通过常用的习惯用语和最佳实践来创建可伸缩的单页面应用程序。该框架提供丰富的对象模型、声明性双向数据绑定、计算属性,Handlebars.js提供的自动更新模板,以及一个路由器管理应用程序状态。 -Meteor.js是一个专门为单页应用设计的全栈(客户端-服务器)JavaScript框架。它具有比Angular、Ember或ReactJS更简单的数据绑定特性且使用--Distributed Data Protocol和一个发布/订阅来自动将数据更改传播到客户端,无需开发人员编写任何同步代码。全栈反应确保从数据库到模板的所有层都可以在必要时自动更新。诸如服务器端渲染等生态系统包则解决搜索引擎优化(SEO)等问题。 -Aurelia是一个适用于移动设备、桌面和网页的JavaScript客户端框架。它类似AngularJS,但更新、更符合标准,并采用模块化举措。Aurelia使用下一代ECMAScript编写。 -Vue.js(通常称为Vue)是一个用于构建用户界面的开源渐进式JavaScript框架。 -React(通常写为React.js或ReactJS)是一个构建用户界面的JavaScript函式庫。它由Facebook、Instagram和个人开发者以及企业社区维护。React最大的优势是易于使用——基本上任何熟悉HTML的开发人员都可以创建React应用程序。另一个所称的优势是可能使用相同的技术堆栈来同时创建Web与移动应用程序。有多家公司使用React和Redux库来让开发人员创建复杂但可扩展的Web应用程序。 -Fulcro是一个全栈库,它采用Netflix的Falcor,Facebook的Relay和Om Next对反应性,功能性,数据驱动软件进行改编的数据驱动原则。 -单页面做seo(搜索引擎优化): -根据部分进行优化为每个关键字创建一个
或每个关键字并为其分配一个适当的ID,该页面上的内部链接将链接至ID。 -优化页面速度对于单页网站SEO来说至关重要。 - 做了seo 以后,单页面还是单页面 # 单页面优点: -减小服务器压力。 如果不用单页面(spa),如果每次切换页面的时候,都向服务器发送一个请求,服务器返回一个html文件;但是如果使用了单页面,在切换时,不需要请求服务器,只要通过本地的js来切换即可。并且服务器端就不需要配置路由,完全做到了前后端分离 -增强用户体验,增加app的使用流畅性。 使用spa之后,页面在切换的时候非常流畅,完全没有那种不断刷新的感觉,而是非常快的就有了响应,因为js运行速度很快,所以js在做本地路由的时候,就会非常快。 -单页应用没有页面之间的切换,就不会出现“白屏现象”,也不会出现假死并有“闪烁”现象。 -单页应用相对服务器压力小,服务器只用出数据就可以,不用管展示逻辑和页面合成,吞吐能力会提高几倍。 -良好的前后端分离。后端不再负责模板渲染、输出页面工作,后端API通用化,即同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端。 -单页面缺点: -首次加载耗时比较多。 解决办法:可以采用基于HTTP Chunk 的首屏数据渐进式预加载方案,该方案总体减少了单页应用1.2s的首屏呈现时间。首屏数据渐进式预加载的优化思路也得到了体现: 优化首屏数据加载节点的速度。 预先加载首屏数据,使得多个串行节点并行化。 -SEO问题,不利于百度,360等搜索引擎收录。 解决办法:可以采用prerender服务,它拿到请求够,直接在服务端的一个js engine里,运行这个HTML(就像浏览器做的那样),直到内容动态填完之后,再广播一个事件告诉phantomjs“内容已经好了,可以返回给爬虫了”,这样爬虫就拿到了一份完整的HTML,就和在浏览器里渲染完的一样。目前流行的框架都有对应的服务器渲染框架 -如有造成Css命名冲突。 解决办法:我们可以使用Sass、LESS和Stylus等CSS预处理器,在一定程度上可以解决该问题。 -前进、后退、地址栏、书签等,都需要程序进行管理,页面的复杂度很高,需要一定的技能水平和开发成本高。 # 多页面: -什么是多页面:每一次页面跳转的时候,后台服务器都会给返回一个新的html文档,这种类型的网站也就是多页网站,也叫做多页应用 - 跳转需要刷新所有资源,用于app 或 客户端 - 页眉 -> 第一页 -> 脚本,页眉 -> 第二页 -> 脚本,页眉 -> 第三页 -> 脚本 -多页面优点:给用户提供一个完美的视觉方向,重点是没有很多的菜单,简洁明了的SEO管理。由于可以针对每页一个关键字优化应用程序 -多页面缺点:后端和移动客户端不能同时使用,前端和后端开发紧密结合。开发变得相当复杂。开发人员需要为客户端和服务器端使用框架。这导致应用程序开发时间更长。 # 区别: -组成:单页面由一个外壳页面和多个页面组成, 多页面由多个完整页面组成 -css(资源公用):单页面为共用,只需要外壳部分加载,多页面则不共用,每个页面单独加载 -刷新方式:单页面页面局部更改或刷新,多页面整页刷新 -url模式:单页面 a.com/#/pageone 多页面 a.com/pageone.html -用户体验:单页面页面切换快,用户体验良好,多页面加载缓慢,流畅度不够,用户体验较差 -转场动画:单页面容易实现,多页面无法实现 -数据传递:单页面容易,多页面需要依赖url传参,或cookie,localSrorage等 -搜索引擎优化:单页面需要单独方案,实现较为困难,不利于SEO搜索,可利用与SSR优化,多页面实现方法容易 -适用范围:单页面高要求的体验度,追求页面的流畅,多页面追求高度支持搜索引擎的应用 -开发成本:单页面较高,需要专业的框架,多页面较低,但页面重复代码较多 -维护成本:单页面相对容易,双页面相对复杂
VeryIDE 是一套集成在线表单定制,投票定制,PK擂台,广告管理等多种应用的系统并且供了丰富的函数与类,以及菜单定制等功能来让你扩展它. 修正 GBK版专题系统中文处理BUG修正 错误的对广告链接的URL进行了过滤,导致部分链接出错的BUG 删减 去掉了风格切换功能,实用为主删减 去掉了广告统计中的国家旗帜显示 更新 全新的操作界面,更友好,更方便,更强大更新 全新消息气泡,更加醒目友好更新 全新的安装核心,完美解决中文乱码问题更新 顶部部分菜单放置位置,用户状态放在了更显著的地方更新 针对非超级管理登录时,广告增加数据统计的快速显示更新 表单用户数据导出针对长数字自动增加前置单引号更新 康盛UCenter API,解决在部分情况下无法正常登录的问题 新增 全局搜索功能,方便管理广告、表单等全部内容新增 用户头像功能,更具人性化新增 选票选项增加“拉票”功能,方便链接传播,提高用户活跃性新增 表单系统用户列表搜索增加“高级选项”,实现更复杂的用户筛选新增 “侧边栏”显示/隐藏切换功能,方便控制编辑区大小新增 模块/页面名称显示和内页右侧浏览控制按钮:“后退/刷新/前进”新增 顶部右侧链出菜单项控制,登录后可以看到不同的菜单,方便不同系统间的跳转新增 广告搜索增加按日期时间段搜索的选项新增 为每个应用增加了简单的操作步骤指引,点击“简明流程”可见新增 表单选项组增加了日期选择组件新增 后台新增SQL语句执行功能,方便系统调试与更新新增 系统出错时的错误报告功能,执行SQL或其它错误时会有相应提示新增 系统登录时的Cookies记录功能,会记住上一次的登录用户名新增 欢迎页增加“快速入口”菜单组,系统功能引导新增 “系统管理”增加系统优化和清理工具
VeryIDE 是一套集成在线表单定制,投票定制,PK擂台,广告管理等多种应用的系统 并且供了丰富的函数与类,以及菜单定制等功能来让你扩展它. 修正 GBK版专题系统中文处理BUG 修正 错误的对广告链接的URL进行了过滤,导致部分链接出错的BUG 删减 去掉了风格切换功能,实用为主 删减 去掉了广告统计中的国家旗帜显示 更新 全新的操作界面,更友好,更方便,更强大 更新 全新消息气泡,更加醒目友好 更新 全新的安装核心,完美解决中文乱码问题 更新 顶部部分菜单放置位置,用户状态放在了更显著的地方 更新 针对非超级管理登录时,广告增加数据统计的快速显示 更新 表单用户数据导出针对长数字自动增加前置单引号 更新 康盛UCenter API,解决在部分情况下无法正常登录的问题 新增 全局搜索功能,方便管理广告、表单等全部内容 新增 用户头像功能,更具人性化 新增 选票选项增加“拉票”功能,方便链接传播,提高用户活跃性 新增 表单系统用户列表搜索增加“高级选项”,实现更复杂的用户筛选 新增 “侧边栏”显示/隐藏切换功能,方便控制编辑区大小 新增 模块/页面名称显示和内页右侧浏览控制按钮:“后退/刷新/前进” 新增 顶部右侧链出菜单项控制,登录后可以看到不同的菜单,方便不同系统间的跳转 新增 广告搜索增加按日期时间段搜索的选项 新增 为每个应用增加了简单的操作步骤指引,点击“简明流程”可见 新增 表单选项组增加了日期选择组件 新增 后台新增SQL语句执行功能,方便系统调试与更新 新增 系统出错时的错误报告功能,执行SQL或其它错误时会有相应提示 新增 系统登录时的Cookies记录功能,会记住上一次的登录用户名 新增 欢迎页增加“快速入口”菜单组,系统功能引导 新增 “系统管理”增加系统优化和清理工具

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧