yii2中gii生成的GridView,有没有办法做到删除数据后跳转回当前页?

用gii生成的CURD很方便,但似乎有个问题
例如我当前在第99页,删除掉一条数据后就会跳转到第1页,我得手动再跳回99页继续删。这就很麻烦

目前的解决思路是自己实现actionDelete这个方法,覆盖掉gii生成的actionDelete,删除请求的url多带个当前页码,删除后跳到此页码

但我觉得yii那么成熟庞大的框架,应该是有为我们做好这个功能的,请求有没有更好的实现办法?

阅读 3.8k
5 个回答

删除成功后return $this->redirect(Yii::$app->request->referrer);返回上次访问的链接.

这个要求不过分,第一次使用框架时也这么想过。后来发觉病不是这样的,比如你目前在99页,但是该页只有一条数据,删除后跳转到该页面,就是空白页。如果有很多数据,当然无所谓。具体看自己的实际情况吧,框架也有多选功能的。对一般线上项目来说,删除操作都是危险操作,很少会被执行的。

用异步删除不就得了,删除之后返回一个status 比如你返回一个200 就执行window.reload();
如果是400或者其他的,就提示删除错误,然后页面不变化。

状态标记删除,然后前端用ajax请求删除,也能保证当前页数据的完整性

ajax删除,结果正确就可以返回个status,然后根据status去把页面上的这个row remove掉

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题