我正在尝试使用returnUrl,但每次都返回null,我不知道为什么......有人可以帮忙吗?
在我的控制器中..
public ActionResult Login(string invite, string username, string password, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
if (!returnUrl.IsNullOrEmpty())
{
var model = new LoginModel();
model.ReturnUrl = returnUrl;
return View(model);
}
return RedirectToAction("Dashboard", "Home");
}
Some stuff....
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Dashboard", "Home");
}
在我的登录过滤器
中HttpContext.Current.Response.Redirect("~/Account/Login?ReturnUrl=" + HttpUtility.UrlEncode(HttpContext.Current.Request.Url.ToString()));
答案 0 :(得分:0)
假设这是MVC代码,我认为你有一个套管问题。
string returnUrl
和
?ReturnUrl=
不一样。 MVC将ReturnUrl与名为ReturnUrl的参数匹配,而不是returnUrl。
其他要检查的事项:
public ActionResult Login(string invite, string username, string password, string returnUrl)
{ // Set breakpoint here
在指定位置有一个断点,查看Request对象(RawUrl和QueryString属性),看看传入的URL是否具有您期望的参数,并且您没有从重定向到达此处。< / p>
可能影响您的另一件事是路径属性或配置可能会影响值的处理。