history.go()无效时,网页回转的实现

问题描述:有两个网页PageManager页面PageDetails页面,当单击PageManager页面上的“详情”按钮时,跳转到PageDetails页面;当单击PageDetails页面上的“返回”按钮时,回转到PageManager页面。而在单击“详情”按钮之前,可能单击了分页控件,使PageManager页面上显示了某些信息,如果单纯使用history.go,那么当单击“返回”后,返回的是初始时的PageManager页面,而不是单击过分页控件后的页面。

解决方案:

1.  在PageManager页面单击“详情”按钮,转入PageDetails页面时,将PageManager中的AspNetPager.CurrentPage作为参数,传到PageDetails页面的URL中。此操作由“详情”的按钮触发。

string openStr = "location.href('PatchDetails.aspx?PatchID=" + PatchID + "&Page=" + nPage  + "');";

2.  转入PageDetails页面之后,单击“返回”按钮,先获取URL中的Page,后重定向到PageManager页面,并将Page值添加到PageManager中的URL中。此操作由“返回”的按钮触发。

string page =Request.QueryString["Page"];

Response.Redirect("~/PatchManager.aspx?Page=" + page);

3.  在PageManager页面的Load中,取出URL中的Page值,判断Page是否为空,若不为空,则绑定GridView控件,显示第Page页。

心得:
页面之间相互跳转时,可将某些重要信息加入URL中,在跳转之后,在页面中截取URL中的信息,通过该值在新页面中进行其他操作。很多页面显示信息都通过这种操作实现,如在新页面中显示某个ID的信息,可将该ID放在URL中也便使用。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值