一种新的页面导航方法

目前在维护一个Web应用,感觉做页面间的导航确实麻烦,特别是页面间参数的传递,如果写的不好,看起来很是头疼。
         正好有个机会,经理让把有些页面做成模式页面,打开模式页面仅仅能传递一个参数,当然这个参数可以是对象。但是如果为了传递参数就去构造很多类,又感觉太麻烦。
        灵机一动,想了如下方法,目前运行良好,和大家分享。有不合适的地方,请批评指正。
        此方法是为要打开的页面类添加个静态方法,例如有MsgInfo.aspx页面:
          public static void Open(ParaType1 para1, (ParaType2 para2, string msgInfoUrl, Page thePage)
          {
                   // 为页面静态变量复制
                   // 打开页面
          }
        其中前两个是传递的页面参数(当然多个也行了),第三个是要打开MsgInfo.aspx页面的页面相对于MsgInfo.aspx的相对url。如果在同一目录下,直接写MsgInfo.aspx就行了,第四个参数为要打开MsgInfo.aspx页面的页面Page对象。
优点:
         使用方便,直接使用MsgInfo.Open(..)方法就行了。
         可以传递任意多个参数,很适合打开模式页面。
         传递的参数是强类型的,避免很多不必要的麻烦。
缺点:
         使用了较多的静态变量,为了去除其负面影响,我一般在Page_Load()方法中加了 this.Response.Expires = 0;
注意:
        有的时候我还想通过以前的方法实现页面导航,这是还想传递页面参数,我是通过以下方式处理的:
 为每个参数写一个Get方法,在此方法中优先处理页面参数,如果没有页面参数,再处理Open方法传递的静态变量。
 private string GetPara()
 {
          if(this.Page.Request.QueryString["Para"] == null)
          {
                   // 返回静态变量
          }
          // 返回查询参数
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值