Кнопка назад браузера не возвращает желаемый вид и возвращает вид в кеш - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть страница регистрации, где пользователь может зарегистрироваться, и после регистрации его токен будет сохранен.после регистрации я перенаправлю его на страницу магазина.если он зарегистрирован и нажимает кнопку «Назад» в браузере, его следует перенаправить на домашнюю страницу (и больше не видеть страницу регистрации).но теперь с моим текущим кодом, когда пользователь нажимает кнопку «Назад» после регистрации, он возвращается на страницу регистрации !.есть идеи?Вот мой контроллер, который возвращает вид домашней страницы, если он вошел в систему и зарегистрирован:

public virtual ActionResult Register(string returnUrl, string invitationCode = null,
            string emailAddressOrMobileNumber = null)
        {
            if (Request.IsAuthenticated) return RedirectToAction(MVC.Home.Index());}

Ответы [ 2 ]

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

Вы можете установить этот код в действии Home:Index, чтобы очистить управление кешем. Вам также необходимо проверить UrlReferrer, чтобы подтвердить переход на главную страницу регистрации.

if (Request.UrlReferrer.PathAndQuery == "/register")
{
    HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache, no-store, must-revalidate");
    HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
    HttpContext.Current.Response.AddHeader("Expires", "0");
}
0 голосов
/ 20 апреля 2019

Если вы вернете только вид, вы должны:
1) Добавьте html-раздел или DIV в ваше представление или введите макет и установите свойства css, чтобы поместить этот DIV внизу страницы, например:

HTML:

<div id="bottom" > </div>

CSS:

 #bottom { 
        height: 40px; 
        position: fixed; 
        bottom:0%;
        width:100%; 
        background-color: #393838; 
        opacity: 1;
    }

2) В ответном действии вы должны вернуть URL-адрес маршрута + идентификатор вашего DIV, чтобы прокрутить до этого div
Контроллер:

public virtual ActionResult Register(string returnUrl, string invitationCode = null,
            string emailAddressOrMobileNumber = null)
        {
            if (Request.IsAuthenticated) return RedirectToAction(MVC.Home.Index());

}
return Redirect(Url.RouteUrl(new { controller = "Controller", action = "Action" }) + "#bottom");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...