[英]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.