Asp.net MVC returnurl value всегда null
Хорошо, я исследовал и попробовал каждое предложение (индивидуально, конечно), прежде чем опубликовать это, и каждый раз я натыкался на стену
Это мое представление входа в систему я использовал ViewBag для передачи значения ReturnUrl как я видел во многих ответах на эту проблему
<h2>Login</h2> @using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { role = "form" })) { @Html.AntiForgeryToken() ...............
И это результат действия входа в систему
[HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Login(UserLogin login, string returnUrl="") { string message = ""; using (NerdsContext nc = new NerdsContext()) { var v = nc.User.Where(a => a.email == login.email).FirstOrDefault(); if (v != null) { if (!v.IsEmailVerified) { ViewBag.Message = "Please verify your email first"; return View(); } if (string.Compare(Crypto.Hash(login.password), v.password) == 0) { int timeout = login.rememberMe ? 525600 : 20; // 525600 min = 1 year var ticket = new FormsAuthenticationTicket(login.email, login.rememberMe, timeout); string encrypted = FormsAuthentication.Encrypt(ticket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted); cookie.Expires = DateTime.Now.AddMinutes(timeout); cookie.HttpOnly = true; Response.Cookies.Add(cookie); //Redirect the user to new url if (Url.IsLocalUrl(returnUrl)) { ViewBag.ReturnUrl = returnUrl; return Redirect(returnUrl); } else { return RedirectToAction("Nerd", "Home"); } } else { message = "Invalid credential provided"; } } else { message = "Invalid credential provided"; } } ViewBag.Message = message; return View(); }
И, наконец, это строки, которые я добавил в файл web.config
<authentication mode="Forms"> <forms cookieless="UseCookies" loginUrl="/Account/Login" timeout="30" slidingExpiration="true" protection="All"></forms> </authentication>
И когда я запускаю это я никогда не получаю фактически войти в систему он всегда отправляет меня обратно на страницу входа в систему и значение returnUrl всегда равно null
Так что же здесь происходит????
Что я уже пробовал:
Я видел много сообщений об этой проблеме и перепробовал почти все из них, но безрезультатно..Я был бы признателен за любую помощь здесь