相关疑难解决方法(0)

RedirectToLocal()转到另一个URL

以下代码片段来自我的ASP.NET MVC 5应用程序:

   public ActionResult Ask(string id) {
        if (!this.User.Identity.IsAuthenticated) {
            string retUrl = Request.Url.AbsoluteUri;
            return RedirectToAction("Login", "Account", new { returnUrl = retUrl });
        }
        ...
   }
Run Code Online (Sandbox Code Playgroud)

这个想法是,如果用户还没有登录,他将被带到登录页面,然后返回到这个"询问"页面.

例如,当用户输入时,http://example.com/Home/Ask/12345678使用正确的id值调用方法Ask().用户现在被重定向到登录页面.

在AccountController中的Login()代码成功验证用户后,它调用ReturnToLocal(),传入我们期望的URL(http://example.com/Home/Ask/12345678).但是,ASP .NET不是调用Ask()方法,而是以某种方式最终调用Index()方法.

感谢您帮助理解我的重定向被破坏的原因.问候.

asp.net-mvc

4
推荐指数
1
解决办法
5110
查看次数

标签 统计

asp.net-mvc ×1