请教,在OnActionExecuting过滤器验证登录,在过滤器重定向到登录页面后还会继续先执行渲染视图才会重定向

午後の红茶 2020-08-26 09:22:21
如题,OnActionExecuting过滤器里已经执行重定向到登录页面,但是还会执行后面的语句,因为未登录好多实例都是null,
虽然最后还是能重定向到登录页面,但是异常过滤器会捕捉到很多报错,请问有什么好的办法在OnActionExecuting执行了重
定向之后不去执行当前控制器后面的语句?
...全文
5375 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
午後の红茶 2020-08-28
  • 打赏
  • 举报
回复
换另一种重定向方式可以解决了
正怒月神 版主 2020-08-27
  • 打赏
  • 举报
回复
引用 3 楼 weixin_41880960 的回复:
[quote=引用 2 楼 正怒月神 的回复:]首先把你代码发出来。

你试试
重定向后,比如
Redict.....
return ;

或者
Redict.....
base.OnActionExecuting(actionContext);


这是代码
[/quote]
return;后也会执行吗?
八爻老骥 2020-08-27
  • 打赏
  • 举报
回复
filter理解没错的话,每个关联请求都会执行的,等你重定向到新的页面其实对新的连接还再执行一次。所以,你要OnAction里边做个URL过滤,如果是"/userlogin/index",则直接return;
正怒月神 版主 2020-08-27
  • 打赏
  • 举报
回复
引用 5 楼 weixin_41880960 的回复:
还会执行,跑完重定向后return,也是会先执行完当前控制器后面的代码,才会真正跳转到登录界面
那改成 Redict..... base.OnActionExecuting(actionContext); 试试看
午後の红茶 2020-08-27
  • 打赏
  • 举报
回复
引用 4 楼 正怒月神 的回复:
[quote=引用 3 楼 weixin_41880960 的回复:][quote=引用 2 楼 正怒月神 的回复:]首先把你代码发出来。 你试试 重定向后,比如 Redict..... return ; 或者 Redict..... base.OnActionExecuting(actionContext);
这是代码 [/quote] return;后也会执行吗?[/quote] 会的,一开始就是这么写的,执行重定向后return,但还是先执行完当前控制器里的代码才会真正重定向到登录界面
引用 4 楼 正怒月神 的回复:
[quote=引用 3 楼 weixin_41880960 的回复:][quote=引用 2 楼 正怒月神 的回复:]首先把你代码发出来。 你试试 重定向后,比如 Redict..... return ; 或者 Redict..... base.OnActionExecuting(actionContext);
这是代码 [/quote] return;后也会执行吗?[/quote] 还会执行,跑完重定向后return,也是会先执行完当前控制器后面的代码,才会真正跳转到登录界面
江湖评谈 2020-08-26
  • 打赏
  • 举报
回复
这是不可能的, mvc的运行机制就是这样,你可以试试override之后直接返回return
午後の红茶 2020-08-26
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
首先把你代码发出来。 你试试 重定向后,比如 Redict..... return ; 或者 Redict..... base.OnActionExecuting(actionContext);
这是代码
正怒月神 版主 2020-08-26
  • 打赏
  • 举报
回复
首先把你代码发出来。 你试试 重定向后,比如 Redict..... return ; 或者 Redict..... base.OnActionExecuting(actionContext);

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧