一种新的页面导航方法

来源:互联网 发布:淘宝网游账号交易 编辑:程序博客网 时间:2024/04/28 17:49
目前在维护一个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)
          {
                   // 返回静态变量
          }
          // 返回查询参数
 }
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 哺乳妈妈吃咸了怎么办 吃流产药哺乳了怎么办 坐月子吃咸了怎么办啊 拔罐放血后头晕怎么办 e道航界面不动怎么办 微信必须打开位置权限怎么办 魅族sim卡未启用怎么办 苹果6sgps信号弱怎么办 苹果5s4g网络慢怎么办 苹果5s上网很慢怎么办 手机一体机死机关不了机怎么办 联想一体机关不了机怎么办 纸巾盒的吸盘老化了怎么办 粘的挂钩老掉怎么办 车载手机支架吸盘吸不住怎么办 吸盘吸不住怎么办才好? 行车记录仪吸盘吸不住怎么办 小米儿童手表二维码丢了怎么办 艾蔻手表二维码丢失了怎么办 玩具直升机遥控器坏了怎么办 玩具飞机遥控器坏了怎么办 玩具无人机遥控器坏了怎么办 玩具遥控车遥控器坏了怎么办 用遥控器关电视后打不开怎么办 汽车遥控器按键坏了怎么办 用遥控器关了电视打不开怎么办 遥控器一个按键坏了怎么办 电视用遥控器关的打不开怎么办 电动车遥控器按键坏了怎么办 海尔空调遥控器按键坏了怎么办 汽车手机支架吸盘吸不住怎么办 车载手机支架吸盘坏了怎么办 假牙的吸盘坏了怎么办 燃气费用一直未交怎么办 凌度gps模块无法定位怎么办? 放疗定位线掉了怎么办 被网络平台骗了怎么办 手机重力传感器坏了怎么办 锤子手机重力传感器坏了怎么办 平板电脑没有开关键怎么办 手机重力感应器坏了怎么办