Redirect (URL) не перенаправляет - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть простой экран входа в .Net MVC. Я использую Redirect() метод для перенаправления на указанный URL после успешного входа в систему, но Redirect(url) никуда не денется, страница остается на экране входа в систему.

Ниже ссылка получает returnurl штраф: @Html.ActionLink("Buy","Login","Account",new { returnUrl = Request.RawUrl })

Затем на экране входа returnUrl показывает этот URL: http://localhost:1820/Account/Login?returnUrl=%2FBasket%2FGoToShopCart

Redirect (url), который не перенаправляет:

[HttpPost]
public ActionResult Login(Login l, string returnurl)
{
      RegisteredCustomer rc = new RegisteredCustomer();
      string url = "";
      Repository r = new Repository();
      var obj = r.GetUser(l);
      if (obj != null)
      {
          Session["UserID"] = obj.RegisterID.ToString();
          url = returnurl;
      }
      else
          url ="/Account/Login";
      return Redirect(url);
}`

И я передаю URL методу HttpPost здесь, в логине.

`@using (Html.BeginForm("Login", "Account", new { returnUrl = Request.QueryString["ReturnUrl"] }, FormMethod.Post))
{
        @Html.Hidden("returnUrl", ViewContext.HttpContext.Request.Url.PathAndQuery)
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)
        ...
        <input type="submit" value="Enter" />

} `

Также этот URL не перенаправляет:

http://localhost:1820/Account/Login

Я проверил эти ответы, но не смог мне помочь:

Перенаправление на returnURL не работает Запрос перенаправления на ReturnUrl отображает страницу входа

Ответы [ 2 ]

0 голосов
/ 26 апреля 2019

Как я вижу, URL должен быть правильно построен. Ответ @NKosi на https://stackoverflow.com/a/44837491/5770686 Я верю, что может помочь вам, а также с помощью других методов Redirect, таких как RedirectToAction, RedirectToRoute и т. Д. (https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.controller.redirect?view=aspnet-mvc-5.2)

0 голосов
/ 26 апреля 2019

Вы можете использовать возврат RedirectToAction («Логин», «Аккаунт»);

...