MVC ReturnUrl链接错误

时间:2016-05-01 21:10:50

标签: c# asp.net asp.net-mvc-3

我正在使用mvc中的ReturnUrl,但我有一些网址链接错误。

a href="/User/Login?returnurl=/Forum/Detail/@item.ID"此链接转到Login视图并带有returnurl参数。

在登录页面中,我使用此代码

捕获returnurl查询字符串
string url = Request.QueryString["returnurl"];

if (ModelState.IsValid)
{
    if (db.Users.Any(x => x.Mail == model.EMail && x.Password == model.Password && x.IsDelete == false))
    {
        FormsAuthentication.SetAuthCookie(model.EMail, true);

        if (!string.IsNullOrEmpty(url))
        {
            return RedirectToAction(url);
        }
        return RedirectToAction("Index", "Home");

当我点击登录后,我无法回到我的第一个网址。链接转为http://localhost:61476/User/Forum/Detail/3(注意:"用户"包含在网址中)

我想转回这个网址:http://localhost:61476/Forum/Detail/3

1 个答案:

答案 0 :(得分:0)

RedirectToAction(您可以想象)将用户重定向到操作,并接受操作名称作为参数,但您要将URI传递给它

改为使用Redirect

if(!string.IsNullOrEmpty(url))
    return Redirect(url);