繁体   English   中英

MVC QueryString是一个空集合

[英]MVC QueryString is an empty collection

我想使用重定向到用户想要在登录后访问的请求URL的方式,但是以某种方式returnUrl始终为null。 (我在该主题上进行了半个小时的研究,但没有找到适合我的解决方案。)

我调试了应用程序的“登录”视图,并尝试使用

new { ReturnUrl = Request.QueryString["ReturnUrl"] }

在我的@using()标记中。 我看到QueryString是一个空集合,我什至尝试不使用QueryString或仅使用ViewBag.ReturnUrl来使用它,但两者都不对我ViewBag.ReturnUrl

控制器具有正确的参数,并且确实通过RedirectToLocal(returnUrl)进行RedirectToLocal(returnUrl)但是,如果returnUrl为null,则无关紧要。

尝试这个

 public ActionResult FirstAction()
    {
        return RedirectToAction("SecondAction",
            new { test = Request.Url.ToString() });
    }

    public ActionResult SecondAction()
    {
        return Redirect(Request.QueryString["test"]);
    }

在您所有的操作方法中,使用此代码

RedirectToAction("Login", "ControllerName", new { returnUrl = Request.Url.AbsolutePath });

在您的登录操作方法中使用

public ActionResult Login(LoginViewModel model, string returnUrl){//code}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM