一种新的页面导航方法
目前在维护一个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(..)方法就行了。
可以传递任意多个参数,很适合打开模式页面。
传递的参数是强类型的,避免很多不必要的麻烦。
正好有个机会,经理让把有些页面做成模式页面,打开模式页面仅仅能传递一个参数,当然这个参数可以是对象。但是如果为了传递参数就去构造很多类,又感觉太麻烦。
灵机一动,想了如下方法,目前运行良好,和大家分享。有不合适的地方,请批评指正。
此方法是为要打开的页面类添加个静态方法,例如有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(..)方法就行了。
可以传递任意多个参数,很适合打开模式页面。
传递的参数是强类型的,避免很多不必要的麻烦。