gpt4 book ai didi

asp.net-mvc - 重定向到不同的 Controller

转载 作者:行者123 更新时间:2023-12-01 04:22:55 25 4
gpt4 key购买 nike

我在 IAuthorizationFilter 中有一些代码可以将用户重定向到登录页面,但是我在更改所使用的 Controller 时遇到了问题。所以我可能会

public void OnAuthorization(AuthorizationContext context)
{
UserController u = new UserController();
context.Result = u.Login();
context.Cancel = true;
}

但这导致
The view 'Login' or its master could not be found. The following locations were searched:
~/Views/Product/Login.aspx
~/Views/Product/Login.ascx
~/Views/Shared/Login.aspx
~/Views/Shared/Login.ascx

我正在从产品 Controller 运行它。如何让 View 引擎使用用户 Controller 而不是产品 Controller ?

编辑:我得到了它
RedirectResult r = new RedirectResult("../User.aspx/Login");
context.Result = r;
context.Cancel = true;

但这是一个障碍,我相信有更好的方法。 ActionFilterAttribute 中几乎没有暴露。如果 AuthorizationContext 中公开的 Controller 具有 RedirectToAction 公开,这似乎可能很有用,这很容易。

最佳答案

同意 ddc0660,您应该重定向。不要运行 u.Login(),而是将 context.Result 设置为 RedirectResult。

关于asp.net-mvc - 重定向到不同的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/111363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com