如何从基本控制器中的 OnActionExecuting 重定向?
我尝试了两种方法: Response.Redirect() 不执行任何操作,以及调用基本控制器内部的新方法返回 ActionResult 并让它返回 RedirectToAction() ...这些都不起作用。
如何从 OnActionExecuting 方法进行重定向?
I have tried two ways: Response.Redirect() which does nothing, as well as calling a new method inside of the Base Controller that returns an ActionResult and have it return RedirectToAction()... neither of these work.
How can I do a redirect from the OnActionExecuting method?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
也可以这样完成:
It can be done this way as well:
创建一个单独的类,
然后,
当您创建控制器时,将此注释称为
Create a separate class,
Then,
When you create a controller, call this annotation as
如果重定向的控制器继承自相同的
baseController
,我们在其中重写OnActionExecuting
方法,则会导致递归循环。假设我们将其重定向到帐户控制器的登录操作,那么登录操作将调用OnActionExecuting
方法并一次又一次地重定向到相同的登录操作...因此我们应该在
OnActionExecuting 中应用检查
方法检查请求是否来自同一控制器,如果是,则不要再次重定向其登录操作。这是代码:If the redirected controller inherit from the same
baseController
where we override theOnActionExecuting
method cause recursive loop. Suppose we redirect it to login action of account controller, then the login action will callOnActionExecuting
method and redirected to the same login action again and again... So we should apply a check in
OnActionExecuting
method to check weather the request is from the same controller if so then do not redirect it login action again. here is the code: