首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重定向到actionmethod方法/视图

重定向到actionmethod方法/视图
EN

Stack Overflow用户
提问于 2015-01-05 15:10:37
回答 2查看 403关注 0票数 2

我已经实现了idel超时功能。在这里,当用户idel持续1分钟时,我们将用户重定向到登录页面。我们已经跟踪了自动注销发生时用户所在的url。例如,用户的处于重置密码视图,如果发生自动注销,我得到的url如下

代码语言:javascript
复制
http://localhost/XYZ.Portal/?returnUrl=%2FXYZ.Portal%2FUser%2FResetPassword

上面的url是通过使用以下代码实现的

代码语言:javascript
复制
'@Url.Action("Login", "User", new { returnUrl = HttpContext.Current.Request.RawUrl })'

现在,当用户再次登录时,他被重定向到登录页面,我使用以下代码将他重定向回来,但代码似乎不起作用。我做错了什么?

代码语言:javascript
复制
[HttpPost]
public ActionResult Login(FormCollection formCollection)
{
    if (ModelState.IsValid)
    {
        UserBE user = new UserBE();
        user.Email = formCollection["Email"];
        user.Password = formCollection["Password"];
        user = UserBL.AuthenticateUser(user);
        if (user.AuthenticUser)
        {
            if (Request.QueryString["returnUrl"] != null)
            {
                string returnUrl = Server.UrlDecode(Request.QueryString["returnUrl"]);
                Redirect(returnUrl );
            }
            else
            {
                Session["Email"] = user.Email;
                return RedirectToAction("DashBoard");
            }
        }
        else
            return View(user);
    }
    return View();
}

[HttpGet]登录操作方法:

代码语言:javascript
复制
[HttpGet]
public ActionResult Login()
{
   return View();
}

returnUrl I get as XYZ.Portal/User/ResetPassword

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-01-05 15:14:27

你需要返回 RedirectResult

代码语言:javascript
复制
if (Request.QueryString["returnUrl"] != null)
{
    string returnUrl = Server.UrlDecode(Request.QueryString["returnUrl"]);

    return Redirect(returnUrl);
}

请参阅RedirectResult

票数 0
EN

Stack Overflow用户

发布于 2015-01-05 15:33:10

不工作。现在我的URL变成了localhost/XYZ.Portal

在这种情况下,您可以执行以下两个选项中的一个:

1)写:

代码语言:javascript
复制
string startReturnUrl = "http://www." + your returnUrl

2)像这样拆分你的returnUrl:

代码语言:javascript
复制
string viewName = returnUrl.Split('/').Last();

但我认为最好将returnUrl更改为您需要的唯一视图名称

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27774898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档