26
2019.2

页面跳转

作者: POPASP
在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的POPASP_CONTROLLER类内置了5个跳转方法success、error、suc、err、jump,用于页面跳转提示,而且支持ajax提交。使用方法很简单,举例如下: ```brush:vb if not M_("user").db.create(1) then that.error( M_("user").db.error ) end if if M_("user").db.Add() Then ' 设置成功后跳转页面的地址,默认的返回上个页面 that.success( array("新增成功","user/index",3) ) else that.error( "添加失败" ) end if ``` that.success与that.error均为property过程,且只有一个参数,如果要输入多个参数,须用数组包裹。举例如下: ```brush:vb '仅一个参数时,表示的是提示消息 that.success( "添加成功" ) that.error("添加失败") '上面的两个例子,用数组实现的话,如下 that.success( array("添加成功") ) that.error( array("添加失败") ) '用数组包裹,最多可以输入三个参数,分别是:提示消息、页面跳转地址、跳转等待时间 that.success( array( "添加成功" , "user/index" ,5 ) ) '上面的例子表示,提示消息“添加成功”,跳转到user.asp,并且等待5秒 '页面跳转地址如果为空,表示跳回上个页面 that.error( array( "添加失败" , "" ,5 ) ) ``` 如果用一个方法表示成功与失败两种跳转,个别情况下可以使用jump方法,它也是一个property过程,且只有一个参数,但是用数组包裹后,可以输入3个参数,第1个参数表示判断条件,第2个参数对应that.success中的参数,第3个参数对应that.error中的参数。示例如下: ```brush:vb '只输入判断条件,成功或者失败后都返回上个页面,提示消息默认为“操作成功!”、“操作失败!” that.jump( mUser.db.Add() ) '如果只想传入添加成功的消息,可以如下使用 that.jump( array( M_("user").db.Add() , array( "添加成功" , "user/index" ,5 ) ) ) that.jump( array( M_("user").db.Add() , "添加成功" ) '条件、成功与失败三个参数全有 that.jump( M_("user").db.Add() , array( "添加成功" , "user/index" ,5 ) , that.error( array( "添加失败" , "" ,5 ) ) ) ``` 个别时候我们也可以使用that.suc与that.err来实现页面跳转,它们两个均为sub过程,含两个参数,第一个参数是判断条件,第二个参数是提示消息,二者均会跳转至上个页面。如下所示: ```brush:vb '如果验证失败,跳转回去 call that.err( not M_("user").db.create(1) , M_("user").db.error ) '如果添加成功跳转回添加页面 Call that.suc( M_("user").db.Add() , "新增成功" ) '走到这步,说明肯定添加失败了 that.error( "添加失败" ) ``` 如果只是想修改成功跳转与失败跳转的表情符号,可以修改下面两个默认配置 ```brush:vb ''默认成功时的表情符号 POP_MVC.config("TMPL_SUCCESS_FACE") = ":)" ''默认失败时的表情符号 POP_MVC.config("TMPL_ERROR_FACE") = ":(" ``` 成功跳转和失败跳转都有对应的模板,并且是可以设置的,默认的设置对应的模板是popasp/Tpl/dispatch_jump.html,如果要修改模板样式,可以修改配置 ```brush:vb ''默认成功跳转对应的模板文件,如果设为空字符串,会自动调用系统的跳转文件 POP_MVC.config("TMPL_ACTION_SUCCESS") = "" ''默认错误跳转对应的模板文件,如果设为空字符串,会自动调用系统的跳转文件 POP_MVC.config("TMPL_ACTION_ERROR") = "" ``` 修改页面跳转模板文件,请依据`popasp/Tpl/dispatch_jump.html`文件内容修改,而且要保留模板中的变量,否则起不到页面跳转的效果。 模板文件使用模板标签,并且可以使用下面的模板变量: | 变量 | 说明 | | --------- | ----- | | message(必须) | 页面提示信息 | | face(可选) | 表情符号 | | waitSecond(必须) | 跳转等待时间 单位为秒 | | jumpUrl(必须) | 跳转页面地址 |