最优化实现ASP.NET页面的返回和刷新机制

本文介绍了如何在ASP.NET WebForm应用中优化页面返回和刷新机制,以解决使用Response.Redirect导致页面状态丢失的问题。通过自定义基类PageBase,设置加载计数和注册客户端事件,实现在返回页面时根据需求决定是否刷新,同时提供了客户端脚本支持以保存和恢复页面状态。
摘要由CSDN通过智能技术生成

    问题提出:当我们在编写ASP.NET程序时,通常要实现如下功能,例如:WebForm1.aspx是一个产品列表(通常有一个查询按钮),本页面有一个创建或者修改按钮,当点击该按钮时,迁移到另一页面WebForm2.aspx,本页面是指定产品信息页面,通常有一个保存按钮和返回按钮,当我们创建或者修改了产品信息,点击返回按钮返回到前一面,需要让WebForm1.aspx刷新,以便显示我们刚才添加或者修改的信息,通常的做法是在返回按钮的服务器事件中,使用Response.Redirct方法重定向到WebForm1.aspx页面.功能虽然实现了,但是原来在WebForm1.aspx中的状态全部丢失了,比如说,我们在WebForm1.aspx中输入了查询条件,当我们用Response.Redirct方法重定向的时候,WebForm1.aspx的查询条件丢失了,无法再次显示上次查询条件下的产品列表.下面是我的对这个问题的解决方案:

首先描述一下解决问题的步骤:

1.定义当前页的返回按钮的客户端ID(返回按钮最好使用客户端控件,不要runat=server)

2.定义可以使当前页面内容刷新的按钮(例如查询按钮)

3.记载当前页面的加载次数,如果只加载了一次,说明内容没有变化,那么可能在返回时就不需要刷新返回后的页面(视需求而定).

4.注册客户端返回按钮和刷新按钮的事件.

5.根据需求将需要不需要刷新的标记写入到客户端的cookie中,这样客户端就可以根据此标记决定是否刷新本页面

代码如下:

定义一个的页面基类PageBase,所有需要该功能的页面都需要从此基类继承

/// <summary>
 /// 基页类
 /// </summary>
 public class PageBase : Page
 {

  /// <summary>
  /// 获取或设置当前页面的加载次数
  /// </summary>
  private int LoadCoun

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值